Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

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

selenium
python
robot-framework
pycharm
windows
gui
webdriver
Теги: #<Tag:0x00007fedbafd8a18> #<Tag:0x00007fedbafd88b0> #<Tag:0x00007fedbafd8770> #<Tag:0x00007fedbafd8630> #<Tag:0x00007fedbafd84f0> #<Tag:0x00007fedbafd8388> #<Tag:0x00007fedbafd81f8>

(Sergey) #1

Добрый день, коллеги! Подскажите, как правильно тестировать GUI десктопного ПО (под Виндой 10). А главное, какие библиотеки необходимо подключить в Robot-Frameworkе? Есть подозрение, что у меня не корректно установлен robotframework-ride. Я установил Python 2.7.14rc1. Также установил PyCharm Community Edition 2017.2.3, где в настройках в Project Interpreter прописаны установленные пакеты и их самые последние версии (буду писать через слеш) : decorator - 4.1.2/4.1.2; pip - 9.0.1/9.0.1; robotframework - 3.0.2/3.0.2; robotframework-ride 1.5.2.1/2.0a1; robotframework-selenium2library 1.8.0/3.0.0b1; selenium - 3.5.0/3.5.0; setuptools - 28.8.0/36.5.0; six - 1.10.0/1.11.0; wxPython - 4.0.0b1/4.0.0b1. Я пытался через PyCharm установить плагин wxPython 2.8.12.1, но выскакивает ошибка: List of plugins was not loaded for following hosts: http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/ и далее: Due to the followings errors:‘Received fatal alert: handshake_failure’ for http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/’…У кого может была похожая ситуация? И чтобы тестировать GUI, надо подключать OperatingSystemLibrary? Да, еще, не запускается RIDE (это может быть не совместимость с версией Python)? Заранее спасибо!


(Yury) #2

Доброго дня!

А распишите более подробно предполагаемую архитектуру, а то не очень понятно, что именно хотите добиться. И зачем вам вообще wxPython?


(Sergey) #3

Доброго дня, Юрий! Например, у меня есть десктопное ПО, где необходимо его запустить, ввести логин, пароль и далее заводить значения для предприятия, сотрудников и пр…И стоит задача все это автоматизировать, чтобы новые билды автоматически проверялись на баги…Все сборки ПО предполагается запускать под разными версиями Винды (от ХР до 10-ки). Системы как 64, так и 32-х битные. В ПО есть кнопки, поля, списки, комбобоксы, галочки и прочее, чей функционал надо протестировать. После Pythona установил PyCharm (хотел из под него запускать robotframework). Пути c:\Python27;c:\Python27\Scripts; прописал. И запутался какую библиотеку надо подключить для автоматизации тестирования GUI…


(Yury) #4

Понимаете, Robot Framework - это лишь надстройка над платформой для тестирования. В подавляющем большинстве случаев это Selenium, который создан для тестирования веб-приложений через браузер, т.е. для десктопа вообще не подходит.

С десктопом худо-бедно работает AutoIT (из тех инструментов, для которых есть библиотека под Robot Framework), но вы сперва убедитесь, что ваше ПО будет нормально тестироваться с помощью AutoIT.

Вот тут посмотрите: https://blog.codecentric.de/en/2014/02/robot-framework-testing-windows-applications/

Вопрос про wxPython снимаю. Он нужен для нормальной работы RIDE.


(Dmitriy Zverev) #5

Для тестирования GUI можете попробовать такие модули




Сам я, честно говоря, ни одну из этих библиотек не пробовал.


(Bolatbek) #6

Начнем с первого вопроса:

  • на чем написано ваше десктопное ПО?

Второй вопрос:

  • почему выбрали роботфрейморк?

И третий вопрос:

  • в бюджете есть денюжки для покупки специализированного ПО для автоматизированного тестирования?

(rmerkushin) #7

Ставьте wxPython Unicode версию 2.8.12 и руками из собранных в установочный пакет. Так же опишите подробности приложения которое будете тестировать, т.к. в зависимости от того на чем написано приложение нужно подбирать библиотеки или инструменты.
P.S.: посмотрите https://github.com/2gis/Winium.Desktop


(Sergey) #8

Дмитрий, доброго дня! Посмотрю, спасибо!


(Sergey) #9

Доброго дня, Mes! 1) ПО написано на Qt. 2) Роботфрейморк выбрал потому что первое - бесплатный, второе - возможность подключать разные библиотеки, третье - возможность создания автотестов GUI для десктопных ПО. 3) в бюджете нет средств, к сожалению, поэтому приходиться искать альтернативу…


(Sergey) #10

Доброго дня,rmerkushin! По поводу wxPython - надо ли сначала удалить старую версию? Второе, wxPython я качал из PyCharm из Просмотра Репозиториев (Browse Repositories), я правильно понял, что надо вручную его скачать и опять установить в PyCharm. Когда я его качал из под PyCharmа, PyCharm ругался: List of plugins was not loaded for following hosts: http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/ и далее: Due to the followings errors:‘Received fatal alert: handshake_failure’ for http://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/’…И, wxPython Unicode версия 2.8.12 будет совместима с PyCharm Community Edition 2017.2.3?


(Sergey) #11

И снова, день добрый! По поводу Winium, на просторах интернета нашел следующую информацию: «Незрелый» инструмент, Несовершенный способ локации элементов, Мало документации??? Можете поделиться впечатлением об этом инструменте, если приходилось его юзать?


(Bolatbek) #12

Я юзал, на момент - ноябрь 2016 года - был вполне рабочим с некоторыми нюансами инструментом.
Попробовать уж точно стоит.


(Sergey) #13

Вы про роботфрейморк?


(Bolatbek) #14

я про winium


(Sergey) #15

Пардон, понял! Спасибо, посмотрю!


(Sergey) #16

Уважаемый, rmerkushin! Не могли бы поподробнее пояснить Вашу фразу : " и руками из собранных в установочный пакет"…чего-то запутался я…я думал, что если я wxPython качал из под PyCharm, то он сам устанавливается там где ему нужно!? Извините за дурацкий вопрос, а как определить какой установочный пакет ему нужен? Вообще, я думал, что смогу запускать Robot-Framework из под PyCharmа, для этого и качал из под PyCharm - wxPython. Будет ли при этом, оставаться возможность запускать Robot-Framework из под RIDE? Ранее, я установил robotframework-ride через pip и версия его - 1.5.2.1. Надо ли старую версию RF-ride снести и поставить последнюю, и какая версия совместима с Python 2.7.14rc1?


(Black Box Blues) #17

Попробуйте все снести и поставить заново:

pip install -U wxPython

Winium к сожалению заброшен разработчиками и не поддерживает работу с Qt.

Если нет бюджета на коммерческое ПО, то посмотрите в сторону Sikuli, как уже советовали. Но на полноценное тестирование не рассчитывайте.


(Sergey) #18

Спасибо, уважаемый box! На счет Winium я так и подозревал…


(Sergey) #19

Еще, вопрос: чтобы скачать wxPython Unicode версию 2.8.12, надо ли в cmd указать: pip install -U wxPython 2.8.12.1?


(Black Box Blues) #20

Не уверен, нужны ли эти танцы со старой версией. Я использую последнюю версию wxPython “as is” и у меня нет проблем с юникодом. Правда на Маке.