Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Запуск Robot Framework из PyCharm

robot-framework
pycharm
python
Теги: #<Tag:0x00007f7b6257c9e0> #<Tag:0x00007f7b6257c878> #<Tag:0x00007f7b6257c738>

(aino) #1

Запуск Robot Framework из PyCharm
Недавно у меня возникла необходимость запуска и создания теста для Robot Freamework непосредственно из PyCharm. И если с установкой плагина проблем не возникло, то с запуском тестов пришлось помучиться, покопаться в глубинах интернета и не раз отвлечь от работы занятых коллег :slight_smile:
Чтобы не повторять мои ошибки предлагаю вам эту инструкцию.

Для того чтобы осуществить запуск тестов из IDE, в данном случае PyCharm, вам понадобятся:

  1. Robot Framework http://robotframework.org/
  2. PyCharm http://www.jetbrains.com/pycharm/
  3. Плагины intellibot и Robot Framework Support для Pycharm
    http://plugins.jetbrains.com/plugin/7386?pr=pycharm
    http://plugins.jetbrains.com/plugin/7415?pr=pycharm
  4. а так же ваши написанные тесты.

Итак, к делу.

После установки плагинов и рестарта IDE у вас появится возможность создавать в среде разработки файлы с тестами, разрешения *.robot. После импорта библиотек в PyCharm появляется подсветка синтаксиса keyword’ов.

Первое что вам понадобится после установки всего софта и создания тестов - это создать правильную конфигурацию для запуска проекта. Причём в данном случае не важно, будет ли вашей целью запуск тестов из самого Robot’a через PyCharm, написанного в Ride (блокноте и т.д.) или запуск файлов с расширением *.robot.

Шаги создания:

  1. Выбираем из раскрывающегося списка Edit configurations
  2. Add new configuration
  3. Из всего списка выбираем Python
  4. Помимо интерпритатора Python’a необходимо указать остальные параметры, выделенные на картинке
  5. Сохраняем, нажимаем Debug или Run

Вуаля! Тесты побежали :slight_smile:

Дополнение.

Если при запуске ваших тестов в Debug режиме есть желание просматривать лог запуска, то надо открыть в IDE файл C:\Python27\Lib\site-packages\robot\run.py и выставить брекпоинт на строке RobotFramework().execute_cli(arguments)

П.С.

Коллеги, с решением данной проблемы мне помог непосредственное Михаил Поляруш :slight_smile: @polusok
Если у Вас возникают вопросы/проблемы по автоматизации, обращайтесь напрямую к Михаилу! Он бесплатно и быстро поможет с решением, а взамен попросит описать решение проблемы в виде статьи и выложить в базе знаний http://automated-testing.info


Robot Framework + PyCharm или как запустить\совместить python webdriver unittest тесты совместно с RF кейвордами
Помогите разобраться с циклом чтобы написать веб-драйвер тест
Robot Framework + PyCharm или как запустить\совместить python webdriver unittest тесты совместно с RF кейвордами
(Dmitriy Zverev) #2

Скажите, пожалуйста, почему файл DMS_01.robot основной, чем он отличается от других *.robot файлов?


(aino) #3

Это файл в котором содержится описание шагов, тест-кейсов, ссылка на файл recource и другие настройки, типа снятие скриншота.
Соответственно, он может иметь другое имя, как вы сами назовёте.


(Валентин Розловенко) #4

@aino А можно посмотреть пример такого файла ?


(Александр Шиповалов) #5

Насколько я понимаю в PyCharm CE, это реализовать не удастся?


(Mykhailo Poliarush) #6

Ну почему же не получиться, получиться. Все что тут указано, также присутствует в PyCharm CE. Ведь это просто настраивается конфигурация запуска python модуля, не более того, а это доступно и в PyCharm CE.


(Александр Шиповалов) #7

Плагины intellibot и Robot Framework Support для Pycharm

Меня смутил этот пункт, ведь CE насколько я помню не поддерживает установку плагинов


(Валентин Розловенко) #8

File > Settings > Plugins


(Funker) #9

этиже плагины подходят для Intellij IDEAI для java?

Я бы пользовался и RIDE.py но он почему-то как-то странно работает у меня на win7 x64 - Там не работает контексное меню, не могу нажать Ctrl+ SPACE чтоб увидеть кейворды :smile: меню как-то появляется и тут же пропадает, кто-то с таким сталкивался?


(kom) #10

В ride есть возможность “обернуть” любое слово в ${}, чтоб превратить его в переменную, с помощью ctrl+1.
Можно ли такое же проделать в sublime или pycharm после того как плагины подключены?


(Валентин Розловенко) #12

${YOURSTRING}=ANYTHINGYOUWANT

А вообще есть целая статья и множество типов переменных в юзергайде роботфреймворка
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#variable-types


(kom) #13

Не совсем то, я имел ввиду можно ли какой то комбинацией кнопок типа ctrl+1 также обернуть любое слово в переменную.


(Romanchuk Katerina) #14

А подскажите от чего может быть, что PyCharm говорит - Variable definition not found, но тесты проходятся хорошо без ошибок.


(Romanchuk Katerina) #15

А есть ли в PyCharm встроенный раннер? Или все через command line ?
Я хочу кликнуть на нужный тест и с контекстного меню выбрать “Run”

Вот пример с behave, я хочу так же запускать RobotFramework


(Виталий Коряков) #16

А может кто нибудь подсказать, почему тест кейс весь подчеркнут красным? Вроде бы ПайЧарм и определяет, некоторые слова, но в тоже время и нет )
Хотя тест запускается и проходит без проблем.


(Natalya Berezina) #17

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


(Alex Lychak) #18

Спасибо за пост. Пробую делать все по шагам, но тесты не идут. Мне кажется, проблемы с подключением библиотеки. При попытке проранить тест в коносоли выдает:
[ ERROR ] Parsing 'FirstPyCharmTest' failed: Data source does not exist.
Что я могу делать неправильно и как починить это досадное недоразумение? До этого баловался только с RIDE, но хочется что-то поудобнее, поэтому решил попробовать PyCharm.
Буду признателен за помощь.


(Mikhail Goloulnikov) #19

Судя по ошибке RF не может найти указанный файл. Для начала проверьте пути до него или попробуйте задать полный путь в консоли до файла.


(Alex Lychak) #20

@Mikhail_Goloulnikov, вы оказались правы. Если запускаю из консоли, тесты бегут и все счастливы. Но хотелось бы запускать тесты через кнопку Run - как ни крути, а это удобнее. Что я делаю не правльно? Нужно где-то подправить путь в конфигах? Сейчас при клике на Run появляется та же ошибка, что и в моем изначальном комменте.
Заранее признателен за помощь.

UPD.:
На всякий случай, вот скриншот моих конфигов - http://take.ms/4K8Vb


(Mikhail Goloulnikov) #21

Честно говоря никогда не использовал конфиг для запуска через run - либо консоль, либо CI через VSTS. Но посмотрю, может чего и найдётся.