Путь до библиотек и ресурсов Robot Framework

Введение

Из этой статьи вы сможете узнать о том как явно указывать путь до ресурсов и внешних Python библиотек в Robot Framework.

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

Рекомендую сперва познакомиться со статьями про архитектуру тестов и про подключение внешних Python библиотек

В примере из статьи «Подключение внешних Python библиотек» библиотеки лежали в директории libraries а тесты в tests

ext_py_lib/ |-- browser |-- libraries | `-- unstable_url.py `-- tests `-- test_title.robot

Поэтому импорт библиотеки выглядел следующим оригинальным образом

Library ../libraries/unstable_url.py

Если в директории tests появятся поддиректории - оттуда импорт будте выглядеть как

Library ../../libraries/unstable_url.py

или даже так

Library ../../../libraries/unstable_url.py

Чтобы не делать относительный импорт можно воспользоваться одним из описанных ниже способов

--pythonpath

С помощью опции --pythonpath можно временно добавить путь до библиотек в PYTHONPATH

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

Library unstable_url

robot --pythonpath /c/Users/Andrei/robot/ext_py_lib/libraries test_unstable_title.robot

--argumentfile

Чтобы не вводить путь вручную, можно сохранить его в так называемый argumentfile

Создадим файл all_arguments.robot и добавим туда следующий код

--pythonpath /c/Users/Andrei/robot/ext_py_lib/libraries test_unstable_title.robot

Чтобы использовать этот файл воспользуемся опцией --argumentfile

robot --argumentfile all_arguments.robot test_unstable_title.robot

Официальная документация

Dockerfile

Если ваше окружение создается с использованием Docker , то путь до библиотек можно прописать в Dockerfile

Пример, который работает в одном из моих проектов:

ENV TEST_DIR=/opt ENV PYTHON_DIR=/user/local/bin/python ENV ROBOT_RESOURCES=/opt/robot/src/resources ENV ROBOT_LIBRARIES=/opt/robot/src/libraries ENV PYTHONPATH=$TEST_DIR:$PYTHON_DIR:$ROBOT_RESOURCES:$ROBOT_LIBRARIES

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

Похожие статьи
Robot Framework
Архитектура
Логи
__init__.robot
Подключение своих .py библиотек
Путь до библиотек и ресурсов
Keyword как декоратор
Template
Пример с pywinauto
Изображение баннера

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

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

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

@aofeed

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

@aofeedchat

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