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

selenium
python
robot-framework
pycharm
windows
gui
webdriver
Теги: #<Tag:0x00007f7b61d18718> #<Tag:0x00007f7b61d18218> #<Tag:0x00007f7b61d18060> #<Tag:0x00007f7b61d16698> #<Tag:0x00007f7b61d163a0> #<Tag:0x00007f7b61d15dd8> #<Tag:0x00007f7b61d15860>

(Artur Korobeynyk) #21

Попробуйте http://pywinauto.github.io/


(rmerkushin) #22

Я бы посоветовал устанавливать wxPython все же из exe, там скомпилированные бинарники либ. Там я выше ссылку кидал на sourceforge, просто скачиваете нужную вам версию (2.8.12.1 unicode под 2.7 питон) и ставите как обычный софт. По поводу winium ничего подсказать не могу, особо не пробовал его. Попробуйте просто да и все, бесплатно же )


(Sergey) #23

Да, я так и сделал. Только теперь, когда запускаю pip list из cmd- wxPython не отображается на экране. А раньше отображался (до того, как я его деинсталлировал через pip uninstall. Да и в PyCharm Community Edition 2017.2.3, где в настройках в Project Interpreter прописаны установленные пакеты, тоже название wxPython (номер версии) пропало, а раньше отображалось??? И опять же, при установке экзешника wxPython, путь был такой же: C:\Python27\Lib\site-packages…и перезагрузился уже…Программы и компоненты виндовые показывают, что нужная мне версия wxPython 2.8.12.1 инсталлирована на компе, но pip list из cmd не видит ее??? И еще вопрос, я правильно понимаю, что RIDE тоже можно запускать из под PyCharm?


(rmerkushin) #24

Воу-воу. Зачем вам запускать RIDE из PyCharm? RIDE это всего лишь IDE для написания тестов на роботе. Можете смело забить на нее, пользуйтесь PyCharm или любым другим удобным для вас IDE. Я давно отказался от RIDE из-за гемороя с wx на маке.


(Sergey) #25

Доброго дня, arturk! А это случайно не библиотека AUTOIT для Robot Framework???


(Sergey) #26

Доброго дня, rmerkushin! Я правильно понимаю, что в RIDE можно писать скрипты для Robot Framework? А в PyCharmе можно писать на Pythone?


(Artur Korobeynyk) #27

Нет, это Win32Api бибилотека скорее.


(Sergey) #28

А тогда может быть подскажите, как подключить библиотеку AUTOIT для Robot Framework?


(rmerkushin) #29

Да можно и так. А можете и то и другое писать в PyCharm или другой удобной для вас IDE или текстовом редакторе, где есть поддержка робота. Посмотреть можно тут: http://robotframework.org/#tools-editors


(rmerkushin) #30

Вот, почитатйте, там все довольно просто: https://code.google.com/archive/p/robotframework-autoitlibrary/


(Sergey) #31

rmerkushin, подскажите пожалуйста совсем запутался с wxPython Unicode версию 2.8.12.1. Я скачал экзешник. Установил wxPython Unicode версию 2.8.12.1. Но не понял в какую директорию его по том прописывать дальше. Где и куда path уму надо прописать? Можете подсказать как дальше быть с wxPython Unicode версию 2.8.12, после установки экзешника? По всякому пробовал через pip, прописывал == но тщетно…Потом в cmd запускаю pip list, а его там нет…


(Sergey) #32

Спасибо за ссылку на библиотеку autoit!:thumbsup:


(Sergey) #33

…да, действительно вроде все понятно, но видно эта библиотека совсем древняя, что не становится на Python 2.7.14??? На сайте Pythonа Index of Packages Matching ‘robotframework’ посмотрел библиотеки, но ничего похожего не нашел (нашел - robotframework-autoitlibrary 1.1). Может есть еще библиотеки какие для AUTOITa?


(Yury) #34

Что значит “библиотека не становится”? Какая ошибка вылетает?


(Sergey) #35

Yury, доброго дня!
Устанавливал через pip, и вот что показывает:
C:\Users\svs>pip install robotframework-autoitlibrary
Collecting robotframework-autoitlibrary
Using cached robotframework-autoitlibrary-1.1.zip
Installing collected packages: robotframework-autoitlibrary
Running setup.py install for robotframework-autoitlibrary … error
Complete output from command c:\python27\python.exe -u -c “import setuptools, tokenize;file=‘c:\users\svs\appdata\local\temp\pip-build-7btjh7\robotframework-autoitlibrary\setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(’\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install --record c:\users\svs\appdata\local\temp\pip-unsqlj-record\install-record.txt --single-version-externally-managed --compile:
Don’t think we need to unregister the old one…
%SYSTEMROOT%\system32\regsvr32.exe /S c:\python27\Lib\site-packages\AutoItLibrary\lib\AutoItX3.dll
Traceback (most recent call last):
File “”, line 1, in
File “c:\users\svs\appdata\local\temp\pip-build-7btjh7\robotframework-autoitlibrary\setup.py”, line 70, in
subprocess.check_call(cmd, shell=True)
File “c:\python27\lib\subprocess.py”, line 186, in check_call
raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command ‘%SYSTEMROOT%\system32\regsvr32.exe /S c:\python27\Lib\site-packages\AutoItLibrary\lib\AutoItX3.dll’ returned non-zero exit status 5

*Command “c:\python27\python.exe -u -c “import setuptools, tokenize;file=‘c:\users\svs\appdata\local\temp\pip-build-7btjh7\robotframework-autoitlibrary\setup.py’;f=getattr(tokenize, ‘open’, open)(file);code=f.read().replace(’\r\n’, ‘\n’);f.close();exec(compile(code, file, ‘exec’))” install --record c:\users\svs\appdata\local\temp\pip-unsqlj-record\install-record.txt --single-version-externally-managed --compile” failed with error code 1 in c:\users\svs\appdata\local\temp\pip-build-7btjh7\robotframework-autoitlibrary*


(Yury) #36

Попробуйте советы отсюда: https://groups.google.com/forum/#!topic/robotframework-users/GAIEiWipg2s


(Sergey) #37

Спасибо!


(Sergey) #38

А может разрядность здесь не подходит? У меня 64-разрядная, а библиотека расчитана для 32-разрядной…Не помогла установка из командной строки от имени админа…получается, надо отключать UAC…какие могут быть последствия?


(Sergey) #39

Друзья, а подскажите пожалуйста, доводилось ли кому-либо из Вас создавать автоматизированные тесты для виндовых десктопных приложений с помощью Robot-Framework (а еще лучше из под PyCharm)? А может иных тулзов, но бесплатных!? Например, как Вы достукивались в Robot-Framework, например до поля, где необходимо ввести значение логина или пароля. Вряд ли Вы использовали виндовый Инспектор??? Или, например, как в Robot-Framework нажать на кнопку “Ок”? Поделитесь, пожалста, опытом!


(Yury) #40

Мы пробовали AutoIT и Sikuli.

AutoIT простой и клевый, подходит для решения каких-то элементарных задач. Но реализовать и поддерживать на нем более-менее сложный проект будет очень трудно, а во многих случаях невозможно.
Sikuli работает по принципу распознавания графических объектов со всеми вытекающими отсюда особенностями.

В итоге мы пришли к коммерческим решениям. И почти все, кого я знаю в тестировании десктопа, рано или поздно туда приходят :slight_smile: