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

Добрый день, коллеги! Подскажите, как правильно тестировать 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: wxPython - Browse /wxPython/2.8.12.1 at SourceForge.net и далее: Due to the followings errors:‘Received fatal alert: handshake_failure’ for wxPython - Browse /wxPython/2.8.12.1 at SourceForge.net'…У кого может была похожая ситуация? И чтобы тестировать GUI, надо подключать OperatingSystemLibrary? Да, еще, не запускается RIDE (это может быть не совместимость с версией Python)? Заранее спасибо!

Доброго дня!

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

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

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

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

Вот тут посмотрите: Robot Framework - Testing Windows Applications

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

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

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

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

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

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

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

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

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

Ставьте wxPython Unicode версию 2.8.12 и руками из собранных в установочный пакет. Так же опишите подробности приложения которое будете тестировать, т.к. в зависимости от того на чем написано приложение нужно подбирать библиотеки или инструменты.
P.S.: посмотрите GitHub - 2gis/Winium.Desktop: Winium.Desktop is Selenium Remote WebDriver implementation for automated testing of Windows application based on WinFroms and WPF platforms.

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

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

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

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

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

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

я про winium

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

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

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

pip install -U wxPython

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

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

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

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

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