Logo Light
Published on

Robot + Browser library (Playwright) (1. díl) - Instalace

Úvod

Robot Framework je obecný testovací framework, který sám o sobě neobsahuje nástroje pro práci s webem – to zajišťují dodatečné knihovny. Jednou z těchto knihoven je Browser Library, která je nadstavbou založenou na Playwrightu. Testy tedy píšeme pomocí klíčových slov ve stylu Robot Frameworku, ale pod kapotou je spouští Playwright.

Rozdíl v kódu: Playwright vs. Robot Framework

Playwright

import { test, expect } from '@playwright/test';

test('Open Google', async ({ page }) => {
  await page.goto('https://www.google.com');
  await expect(page).toHaveTitle('Google');
  await page.fill('#nickname', 'nick01');
  await page.click('button[type=submit]');
});

Robot Framework (Browser Library):

*** Settings ***
Library    Browser

*** Test Cases ***
Open Google
    New Browser    chromium
    New Page    https://www.google.com
    ${title}=    Get Title
    Should Be Equal    ${title}    Google
    Fill Text    #nickname    nick01
    Click    button[type=submit]
    Close Browser

Výsledek je stejný – Playwright pracuje s DOM a prohlížečem, Robot Framework poskytuje syntaxi.

Instalace

1. Virtuální prostředí

V domovském adresáři projektu vytvořím virtuální prostředí:

python -m venv venv
.\venv\Scripts\activate

Po aktivaci je na začátku příkazového řádku prefix (venv).

2. Instalace Robot Frameworku

Do aktivovaného prostředí nainstalujeme Robot Framework:

pip install robotframework

3. Instalace Browser knihovny (Playwright)

pip install robotframework-browser
rfbrowser init

rfbrowser init stáhne potřebné prohlížeče (Chromium, Firefox, WebKit).


Struktura projektu

V domovském adresáři vytvořím následující podadresáře:

  • tests/ – samotné testovací scénáře
  • resources/ – proměnné, sdílená klíčová slova
  • libs/ – vlastní Python kód, pokud nestačí vestavěná logika

První test v Robot Frameworku s Browser Library

V adresáři tests/ vytvoříme soubor example.robot:

*** Settings ***
Library    Browser

*** Test Cases ***
Open Google
    New Browser    chromium
    New Page    https://www.google.com
    ${title}=    Get Title
    Should Be Equal    ${title}    Google
    Close Browser

Test spustíme příkazem:

robot tests/example.robot

Po spuštění vzniknou tyto reporty:

  • log.html - nejdůležitější pro debugování (obsahuje detailní průběh testu)
  • report.html
  • output.xml

Poznámka: pokaždé když chceme pracovat na projektu, je třeba nejdřív aktivovat prostředí:

.\venv\Scripts\activate