Selenium Advanced
Taking Screenshots
Pre získanie snímku celej stránky viditeľnej v prehliadači, zavolajte metódu save_screenshot()
nasledovne:
driver.save_screenshot('/path/to/screenshot.png')
Ak však chcete s obrázkom pracovať ďalej a potrebujete ho vo forme dát, môžete zavolať napríklad metódu get_screenshot_as_png()
.
pytest-selenium
pytest-selenium je samostatný balík, ktorý poskytuje fixture (method scope) s názvom selenium
. Tým zabezpečí spustenie prehliadača pre každý test. Prehliadač môže byť spustený lokálne alebo na diaľku vzhľadom na dokumentáciu. Môže byť dokonca headless.
Vlastnosti:
- jednoducho je možné meniť jeden prehliadač za druhý
- konfigurácia
- prepojenie s ďalšími službami ako SauceLabs, Selenium Server, Selenium Grid, Browser Stack, TestingBot
- generovanie reportov spolu so snímkami obrazovky pri vzniku chyby
Installation
$ pip install pytest-selenium
Generating Reports
Nainštalovať balík pytest-html
a pytest
spúšťať spolu s prepínačom pre vytvorenie reportu:
pytest --html=report.html
Tým dôjde k vytvoreniu reportu s výsledkami testov.
TODO
from selenium import webdriver
driver = webdriver.Chrome()
# set max delay for loading the page
driver.set_page_load_time(10)
driver.get('http://www.gnome.org')
# maximize window
driver.maximize_window()
# take a screenshot
driver.get_screenshot_as_file('screen.png')