Robot Framework + PyCharm или как запустить\совместить python webdriver unittest тесты совместно с RF кейвордами

PageObject это всего лишь дополнительная абстракция, которая помогает разделить создание тестов от фактического взаимодействия с веб-приложениями. Конечно это можно сделать через кейворды RobotFramework. Кейворды как раз и для этого предназначены.

Другой вопрос, если нужно будет запрограммировать какую то логику в самых PageObjects, то насколько это будет просто сделать с помощью selenium2library или с помощью чистого программирования на Python?!

Моя практика показывает, что все же как не старайся, но запрограммировать логику PageObjects через кейворды selenium2library тяжело и получается слишком линейно. А в жизни много подводных камней, к которым надо приделывать разные воркараунды и с помощью чистого программирования на Python это значительно проще.

Даже не буду спорить , просто подход на чистом рб на мой взгляд будет крайне удобен тем , у кого нет навыков программирования , и они не планируют их получать :slight_smile:

На самом деле, просто надо выставить правильный PYTHONPATH.

У меня именно так сейчас реализовано. Не скажу, что я доволен этим подходом.

  • Организация кода python гораздо гибче, чем каталоги каталогов robot framework + python код даёт больше свободы для изощрённых случаев
  • В моём случае я уже наследую SeleniumLibrary для хитрых запросов и другое решение вполне для меня вписывается в архитектуру

Вот вроде бы да, и многие так говорят, многие даже берутся за автоматизацию без знаний программирования, но в итоге, к сожалению, ничего хорошего из этого не получается. Из своей практики я встречал много таких случаев и не помню ни одного успешного кейса, все в какой-то мере начинали программировать (даже если не хотели) и развивали правильные подходы к автоматизации через программирование.

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

Что еще раз доказывает, надо программировать 80% логики на python, а 20% на robot framework. Принцип Парето даже тут действует :smile: