t.me/atinfo_chat Telegram группа по автоматизации тестирования

Запуск Robot Framework из PyCharm

Теги: #<Tag:0x00007fd77145b460> #<Tag:0x00007fd77145b348> #<Tag:0x00007fd77145b280> #<Tag:0x00007fd77145b1b8>

Запуск 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

3 Симпатий

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

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

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

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

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

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

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

File > Settings > Plugins

1 Симпатия

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

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

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

${YOURSTRING}=ANYTHINGYOUWANT

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

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

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

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

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

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

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

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

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

1 Симпатия

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

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

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