Robot Framework как Python библиотека

Введение

Довольно типичной являетс ситуация, когда к существущим библиотекам робота добавляют свои библиотеки на Python

Но не стоит забывать о том, что Robot Framework это тоже Python библиотека и её ключевые слова могут быть вызваны из Python кода.

В этой статье вы можете изучить примеры таких вызовов

Screenshot

Рассмотрим как делать роботоские скриншоты на примере похожем на unstable_url из статьи про кастомные Python библиотеки

Понятно, что с помощью Python можно делать скриншоты разными способами, но нас интересует именно такой скриншот, который будет интергрирован в результаты теста.

Для библиотеки Screenshot требуется установка дополнительной библиотеки. В Windows это обычно Pillow.

Поддерживаемые инструменты и модули для создания снимков экрана То, как делаются снимки экрана, зависит от операционной системы. В OSX снимки экрана делаются с помощью встроенной утилиты захвата экрана. В других операционных системах вам необходимо установить один из следующих инструментов или модулей Python. Вы можете указать инструмент/модуль для использования при импорте библиотеки. Если инструмент или модуль не указаны, будет использоваться первый найденный. wxPython :: http://wxpython.org :: Универсальный набор инструментов Python GUI. PyGTK :: http://pygtk.org :: Этот модуль доступен по умолчанию в большинстве дистрибутивов Linux. Pillow :: http://python-pillow.github.io :: Работает только на Windows. Также поддерживается оригинальный пакет PIL. Scrot :: http://en.wikipedia.org/wiki/Scrot :: Не используется в Windows. Устанавливается с помощью apt-get install scrot или аналогичного.

python -m pip install pillow

Структура проекта

screenshot_demo/ |-- Libraries | `-- unstable_url.py `-- Tests `-- demo.robot

*** Settings *** Documentation Example that uses external python library Library ../libraries/unstable_url.py *** Test Cases *** Check URL [Tags] title ${url}= Get Unstable Url Should Be Equal As Strings ${url} https://www.devhops.ru

from robot.libraries.Screenshot import Screenshot from random import randrange _screenshot = Screenshot() def get_unstable_url() -> str: _screenshot.take_screenshot("my_screen", "900px") if randrange(2) == 1: return "https://www.devhops.ru" else: return "https://www.heihei.ru"

Теперь при каждом вызове unstable_url() средствами робота будет сделан снимок экрана.

Он будет виден в файле log.html

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

По умолчанию первый скриншот называется my_screen_1.jpg . Если его не удалить и запустить тест снова - появится второй файл my_screen_2.jpg и так далее.

Изображение баннера

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

Похожие статьи
Robot Framework
Основы
Тест логина
Пустые поля
reStructuredText
QuickStart
Robot из Python

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

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

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

@aofeed

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

@aofeedchat

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