PyCharm и Robot Framework

Содержание
Введение
.robot файлы
Интерпретатор Python
Установка Robot Framework
Запуск простого теста
Edit Configurations…
Запуск тестов с библиотеками
Запуск тестов с опциями
Working directory
Похожие статьи

Введение

Из этой статьи вы можете узнать о том как запускать тесты, написанные на Robot Framework, в PyCharm .

Сперва будет продемонстрирован выбор интерпретатора Python , затем редактирование конфигурации

Также будет рассмотрена поддержка синтаксиса и импортов Robot Framework в PyCharm.

Поддержка .robot файлов

Чтобы синтаксис .robot файлов подсвечивался и можно было проваливаться глубже в код раньше нужно было установить плагин Intellibot или Intellibot patched for Selenium

Они делали хорошую подсветку синтаксиса, но не позволяли проваливаться в источники ключевых слов или питоновские библиотеки.

Современным решением этих проблем является плагин Hyper RobotFramework Support

Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru
Hyper RobotFramework Support
Плагин

Поддержка .resource файлов

Если нужна поддержка .resource файлов PyCharm предлагал установить Robot Framework Language Server. Но с появлением Hyper, эта необходимость отпала.

Language Server нужно было настраивать сразу после установки

Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru

Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru

Интерпретатор Python

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

Если вы предпочитаете создавать своё виртуальное окружение для Python - сделайте это так как вы привыкли.

В этом примере окружение создано с помощью venv

python -m venv venv

Если интерпретатор ещё не выбран:

В правом нижнем углу окна PyCharm нажмите

Add New Interpreter Add Local Interpreter…

Выберите Existing в поле Environment и укажите путь до только что созданного виртуального окружения

C:\Users\Andrei\robot\venv\Scripts\python.exe

Если интерпретатор ещё не выбран:

Нажмите на правый нижний угол окна PyCharm

Настройка интерпретатора Python для Robot Framework Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка интерпретатора Python в PyCharm
https://testsetup.ru

Нажмите Add New Interpreter

Настройка интерпретатора Python для Robot Framework Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка интерпретатора Python в PyCharm
https://testsetup.ru

Нажмите Add Local Interpreter…

Настройка интерпретатора Python для Robot Framework Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка интерпретатора Python в PyCharm
https://testsetup.ru

Выберите интерпретатор из выпадающего списка, либо нажмите

Настройка интерпретатора Python для Robot Framework Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка интерпретатора Python в PyCharm
https://testsetup.ru

Укажите путь до python.exe из вашего виртуального окружения

Настройка интерпретатора Python для Robot Framework Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка интерпретатора Python в PyCharm
https://testsetup.ru

Название интерпретатора должно появиться в правом нижнем углу

Настройка интерпретатора Python для Robot Framework Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка интерпретатора Python в PyCharm
https://testsetup.ru

Установка Robot Framework

После того как интерпретатор выбран , убедитесь, что в нём установлен сам Robot Framework.

Если робот не установлен - установите его либо командой

python -m pip install robotframework

Либо через настройки интерпретатора:

Перейдите в настройки интерпретатора либо через нижний правый угол, либо через

Settings Project Python Interpreter

Нажмите +

Установка Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Установка Robot Framework в PyCharm
https://testsetup.ru

В окно поиска введите robotframework

Нажмите Install Package

Установка Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Установка Robot Framework в PyCharm
https://testsetup.ru

Нажмите Close

Установка Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Установка Robot Framework в PyCharm
https://testsetup.ru

robotframework должен появиться в списке установленных пакетов

Установка Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Установка Robot Framework в PyCharm
https://testsetup.ru

Запуск простого теста

Тесты можно запустить в терминале PyCharm выполнив команду

python -m robot my_test.robot

Под простым тестом будем понимать тест, который не импортирует внешние ресурсы и библиотеки. То есть не нуждается в манипуляциях с системным путём .

Чтобы запускать тесты с помощью SHIFT + F10 или кнопкой - нужно отредактировать конфигурацию запуска файла

Edit Configurations…

Если конфигурация не была настроена она будет отображаться как Current File

Нажмите на название конфигурации, например, Current File

Настройка конфигурации запуска PyCharm для Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка конфигурации запуска
https://testsetup.ru

Выберите Edit Configurations…

Настройка конфигурации запуска PyCharm для Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка конфигурации запуска
https://testsetup.ru

Нажмите +

Настройка конфигурации запуска PyCharm для Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка конфигурации запуска
https://testsetup.ru

Выберите в списке Robot

Настройка конфигурации запуска PyCharm для Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка конфигурации запуска
https://testsetup.ru

Задайте имя для конфигурации и выберите нужный интерпретатор

Настройка конфигурации запуска PyCharm для Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка конфигурации запуска
https://testsetup.ru

В поле script нажмите на поиск файла

Настройка конфигурации запуска PyCharm для Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка конфигурации запуска
https://testsetup.ru

Укажите путь до robot.exe из вашего виртуального окружения

C:\Users\Andrei\robot\venv\Scripts\robot.exe


Либо укажите путь до run.py

C:/Users/Andrei/robot/venv/Lib/site-packages/robot/run.py

Настройка конфигурации запуска PyCharm для Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка конфигурации запуска
https://testsetup.ru

В Script parameters укажите файл до теста и нажмите OK

Working directory пока оставим пустой, о ней поговорим здесь

Настройка конфигурации запуска PyCharm для Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка конфигурации запуска
https://testsetup.ru

Название конфигурации должно появится в верхней панели окна PyCharm, там, где раньше было Current File

Теперь, если тест не импортирует внешних библиотек, его можно запустить одним нажатием на кнопку

Настройка конфигурации запуска PyCharm для Robot Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru изображение с сайта www.testsetup.ru
Настройка конфигурации запуска
https://testsetup.ru

Ещё один пример настройки конфигурации:

Откройте нужный .robot файл и рядом с кнопкой запуска выберите

Edit Configuration …

В PyCharm Community Edition я использую следующие настройки

В PyCharm Professional некоторые поля имеют другое название или порядок

Запуск тестов с библиотеками

Чтобы перейти к настройке PyCharm для запуска робот тестов добавьте все пути до библиотек и ресурсов в интерпертатор.

File Settings Project Project Interpreter = ⌵ Show all Выберите нужный интерпретатор В правом тулбаре пять иконок, кликните иконку дерева папок + Выберите директорию OK

Например

C:\AutoTest\project\tests\robot\Libraries (added by user) C:\AutoTest\project\tests\robot\Resources (added by user) C:\AutoTest\project\tests\robot (added by user) C:\AutoTest\project\gen-py (added by user)

Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru
Пример добавления директории в путь интерпретатора
testsetup.ru

Запуск тестов с опциями

Чтобы в PyCharm использовать опции запуска тестов, например, --include их нужно указывать в конфигурации

robot --include proto в PyCharm Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru
robot --include proto в PyCharm
testsetup.ru

Working directory

С помощью Working directory можно задать директорию, из которой будут запускаться тесты.

Это может пригодиться, если вы решили запустить тесты, предназначенные для запуска в CI/CD пайплайне. Например в Jenkins или GitHub Actions

Эти тесты могут опираться на конкретную директорию на раннере. Например:

# common.py from robot.libraries.BuiltIn import BuiltIn _built_in = BuiltIn() def get_robot_variable(variable_name: str) -> Any: return _built_in.get_variable_value("${" + variable_name + "}") N_FTR_RSRCS: Path = Path(get_robot_variable("EXECDIR")).joinpath("xyz", "Resources", "n_ftr")

В коде выше подразумевается, что тесты запущены из директории, родительской к xyz. Она не указана явно, но допустим, что это autotests.

Если в структуре проекта робот будет расположен так, что как EXECDIR он видит, например, директорию, родительскую по отношению к autotests то в пути образуется пробел.

repo_name | `--autotests | |-- __init__.py | `-- xyz | |-- __init__.py | `-- Resources | `-- n_ftr `-- venv

Ошибка, которую выдаст Python будет выглядеть примерно так:

FileNotFoundError: [Errno 2] No such file or directory

Чтобы её избежать нужно явно указать путь до autotests в Working directory

Working directory в PyCharm Поддержка Robot Framework в PyCharm изображение с сайта www.testsetup.ru
Working directory в PyCharm
testsetup.ru

Автор статьи: Андрей Олегович

Похожие статьи
Robot Framework
Основы
Архитектура
RFBrowser
Переменные: set, reassign…
if else: Условные операторы
in: Оператор принадлежности к списку
Циклы
Перенос на новую строку
[Tags]: теги
Collections: списки, словари
JSON
Передача аргументов в кейворд
Evaluate
Поддержка Robot в PyCharm
Ошибки
PyCharm

Поиск по сайту

Подпишитесь на Telegram канал @aofeed чтобы следить за выходом новых статей и обновлением старых

Перейти на канал

@aofeed

Задать вопрос в Телеграм-группе

@aofeedchat

Контакты и сотрудничество:
Рекомендую наш хостинг beget.ru
Пишите на info@urn.su если Вы:
1. Хотите написать статью для нашего сайта или перевести статью на свой родной язык.
2. Хотите разместить на сайте рекламу, подходящую по тематике.
3. Реклама на моём сайте имеет максимальный уровень цензуры. Если Вы увидели рекламный блок недопустимый для просмотра детьми школьного возраста, вызывающий шок или вводящий в заблуждение - пожалуйста свяжитесь с нами по электронной почте
4. Нашли на сайте ошибку, неточности, баг и т.д. ... .......
5. Статьи можно расшарить в соцсетях, нажав на иконку сети: