[[oktatas:web:selenium|< Selenium]]
====== Selenium - Python ======
* **Szerző:** Sallai András
* Copyright (c) Sallai András, 2021
* Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]]
* Web: https://szit.hu
===== A Selenium =====
A Selenium egy automatikus webalkalmazás tesztelő.
* https://www.selenium.dev/
Telepíteni kell a webdriver-t valamelyik böngészőhöz.
Legyen például a Chrome. Nézzük meg milyen Chrome verziónk van.
Az első és a második része fontos a verziószámnak.
Keressük meg az ugyanilyen verziójú Webdrivert.
* https://chromedriver.storage.googleapis.com/ (2021)
* https://www.selenium.dev/selenium/docs/api/py/index.html (2021; innen is indulhatunk)
Válasszuk az operációs rendszerhez a megfelelő .zip kiterjesztésű fájlt.
Linuxon például:
* chromedriver_linux64.zip
Csomagoljuk ki, az operációs rendszeren, egy olyan könyvtárba, ami szerepel az PATH környezeti változóban.
Linux alatt például:
* /usr/local/bin
A végeredmény Linuxon:
/usr/local/bin/chromedriver
Windowson például:
* C:\Windows\System32
===== Teszt írása =====
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://localhost/restapi01/index.php?products')
Ha futtatjuk a programot, megnyílik egy új böngészőablak.
Benne a kérés eredménye.
===== Title elem vizsgálata =====
from selenium import webdriver
browser = webdriver.Chrome()
browser.get('http://localhost:8000')
assert 'App01' in browser.title
browser.quit()
Ha az "App01" szöveg van a title elemben, akkor a program hiba nélkül lefut,
a böngésző bezáródik.
Különben Assertion hibával leáll, a böngésző nem áll le.
===== A szit.hu kereső =====
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
driver = webdriver.Chrome()
driver.get('https://szit.hu')
elem = driver.find_element(By.NAME, 'q')
elem.send_keys('recept' + Keys.RETURN)
driver.quit()