[[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()