Сложности тестирования GUI десктопного ПО в Robot-Framework

selenium
python
robot-framework
pycharm
windows
gui
webdriver
Теги: #<Tag:0x00007f7b6d55a998> #<Tag:0x00007f7b6d55a830> #<Tag:0x00007f7b6d55a6f0> #<Tag:0x00007f7b6d55a5b0> #<Tag:0x00007f7b6d55a448> #<Tag:0x00007f7b6d55a308> #<Tag:0x00007f7b6d55a1c8>

(Sergey) #41

:slightly_smiling_face: Спасибо!


(Yury) #42

Я бы рекомендовал сейчас не мучить Робота, а попробовать ваше приложение с “голым” АвтоИТом.


(Sergey) #43

C Autoit’ом приложение более-менее работает (в смысле - тесты пишутся). Единственное, что не совсем понятно, как “достукиваться” до отдельных элементов: комбобосы, выбор из выпадающего списка - одним словом, до гуевых элементов. Точнее, используя виндовый инспектор, до некоторых все же удается достучаться, но не всех. Жаль у Autoitа нет поддержки Record-Play, как например, у Ranorex’a и встроенного мапинга, а “Фокус” на GUI элементах (поля, кнопки и пр.) не всегда подсвечивается…


(Vasily Ryabov) #44

Это не только Win32 API, pywinauto умеет и UI Automation API под капотом (на выбор из двух бэкендов на данный момент). И в отличие от Winium у pywinauto есть мейнтейнеры (я один из них). Если приложение Qt5, то шансы с pywinauto достаточно высокие что-то увидеть из элементов. Вот с Qt4 не особо, как правило. Но это и с другими инструментами непросто.

А что касается AutoIt, то у них вообще свой доморощенный язык по типу Basic, хотя и есть pyautoit обвязка на питоне, но UI Automation API (а значит, и все современные приложения) AutoIt не умеет из коробки.


(Sergey) #45

Друзья, всем огромное спасибо за отклики! Со временем опять вернулся к Robot-Framework совместно с Autoit’ом для тестирования GUI на десктопном приложении. На самый первый мой вопрос помогла банальная переустановка новой версии самого Autoit’а. И воспользовался прекрасной инструкцией по установке RF от Joonas Venäläinen, большое ему спасибо: https://medium.com/@joonasvenlinen/desktop-application-automation-with-robot-framework-6dc39193a0c7 . Коллеги, подскажите, если кто сталкивался с такой проблемой - как настроить RIDE, чтобы можно было просматривать русский текст (с латиницей проблем нет), отправленный функцией Send. Т.е., в Test Cases сначала запускаем блокнот (Run ${Notepad}), затем - ждем пока он откроется (WinWaitActive new 1 - Notepad++) и далее - отправляем в блокнот текст (Send Hello, Robot!). Так вот возникли трудности с отправкой текста на русском языке. Подскажите, как решается такой вопрос?! Заранее, спасибо!!!


(Sergey) #46

Вопрос снимаю, из-за невнимательности (выбирал не ту cmd) тест не запускался, если отправлять сообщение на русском. Теперь все работает! :-)))