RFBrowser в Robot Framework

Contents
Введение
Установка
Запустить браузер в видимом режиме
xpath
Пример: Верифицировать заголовок страницы
ElementState: все возможные состояния элемента
Get Element States
Похожие статьи

Введение

RFBrowser - это новый встроенный в RobotFramework драйвер для браузеров на основе Playwright

Установка

Команда для установки с помощью pip

python -m pip install robotframework-browser

Пример установки с нуля

python -m venv venv
source venv/bin/activate
python -m pip install --upgrade pip
python -m pip install robotframework
python -m pip install robotframework-browser
rfbrowser init

Затем нужно установить nodejs минимум 12-й версии. О том как это сделать в Linux читайте в статье «Установить последнюю версию nodejs»

Запустить браузер в видимом режиме

Чтобы запустить RFBrowser в видимом режиме нужно установить опцию headless=False

New Browser browser=chromium headless=False

xpath

# По именам классов Click xpath=//span[@class="name1 name2 name3"] # По url Wait For Elements State xpath=//a[@href="${your_url}"] visible

Пример: Верифицировать заголовок страницы

*** Settings *** Documentation Example that opens single page Library Browser ... enable_playwright_debug=${True} ... auto_closing_level=TEST ... retry_assertions_for=0:00:03 *** Variables *** ${url} https://eth1.ru *** Keywords *** Start Chromium Browser New Browser browser=chromium headless=False New Context viewport={'width': 1920, 'height': 1080} ignoreHTTPSErrors=True *** Test Cases *** Starting a browser with a page Start Chromium Browser New Page https://eth1.ru Get Title == eth1.ru Close Browser

ElementState

Все возможные состояния, которые может иметь элемент.

Докуметация

Allowed Values attached detached visible hidden enabled disabled editable readonly selected deselected focused defocused checked unchecked stable

Get Element States

Проверять статус элемента теперь нужно с помощью ключевого слова Get Element States

Например, если нужно проверить видимость элемента с классом devhops

*** Settings *** Documentation Example that opens single page Library Browser ... enable_playwright_debug=${True} ... auto_closing_level=TEST ... retry_assertions_for=0:00:03 *** Variables *** ${url} https://eth1.ru *** Keywords *** Start Chromium Browser New Browser browser=chromium headless=False New Context viewport={'width': 1920, 'height': 1080} ignoreHTTPSErrors=True Verify Element Visibility [Arguments] ${selector} ${visible} = Get Element States ${selector} then bool(value & visible) Should Be True ${visible} *** Test Cases *** Verify devhops Visibility Start Chromium Browser New Page https://eth1.ru Verify Element Visibility .devhops Close Browser

В этом примере мы передаём аргумент selector в кейворд Verify Element Visibility.

Подробнее про это можно прочитать в статье «Передача аргументов»

Related Articles
RFBrowser
Robot Framework
Ошибки RFBrowser
Объявить переменную
if else: Условные операторы
in: Оператор принадлежности к списку
Изменить значение переменной
Перенос на новую строку
[Tags]: тэги
Collections
Поддержка Robot в PyCharm
Тестирование ПО
Теория
Учебник по тестированию API
Тестирование API
Тестирование с помощью Python