後續會根據持續學習來更新,大家一起學習
引言:
Selenium是一個流行的自動化測試工具,用于模拟和控制浏覽器行為,常用于Web應用程式的功能測試和驗收測試。Selenium支援多種程式設計語言,包括Python、Java、C#等,并提供了一組API,用于操作浏覽器的各種行為。
Selenium庫的工作原理主要包括以下幾個關鍵元件:
我們以谷歌浏覽器為例來一起進行學習:
- WebDriver:
WebDriver是Selenium的核心元件,它提供了與各種浏覽器的互動能力。通過WebDriver,Selenium可以自動化啟動浏覽器、打開URL、填寫表單、點選按鈕、擷取元素屬性等等操作。
- 浏覽器驅動:
Selenium需要與浏覽器進行互動,是以需要安裝相應的浏覽器驅動。不同的浏覽器需要對應不同的浏覽器驅動,比如Chrome需要ChromeDriver,Firefox需要GeckoDriver。驅動程式将接收來自Selenium的指令,并在浏覽器中執行相應的操作
下面介紹兩個常用的驅動下載下傳位址:
Chrome浏覽器驅動下載下傳位址:http://chromedriver.storage.googleapis.com/index.htm
Firefox(火狐)浏覽器驅動:https://github.com/mozilla/geckodriver/releases/
- 定位元素:
Selenium可以通過各種方式來定位Web頁面上的元素,比如ID、名稱、類名、連結文本等等。通過定位元素,Selenium可以準确地找到需要操作的頁面元素。
前面文章有介紹過元素定位 可參考:https://www.toutiao.com/article/7260753838771290661/
- 執行操作:
一旦定位到Web元素,Selenium可以執行多種操作,如點選、輸入文本、擷取元素屬性等。這些操作可以模拟使用者在浏覽器中的行為。以下是執行個體說明
點選操作:
- Chrome浏覽器:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
button = driver.find_element_by_xpath("//button[@id='myButton']")
button.click()
Firefox浏覽器:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://example.com")
button = driver.find_element_by_xpath("//button[@id='myButton']")
button.click()
輸入文本操作:
Chrome浏覽器:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
input_box = driver.find_element_by_xpath("//input[@id='myInput']")
input_box.send_keys("Hello World")
Firefox浏覽器:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://example.com")
input_box = driver.find_element_by_xpath("//input[@id='myInput']")
input_box.send_keys("Hello World")
擷取元素屬性:
Chrome浏覽器:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://example.com")
element = driver.find_element_by_xpath("//div[@class='myDiv']")
text = element.text
Firefox浏覽器:
from selenium import webdriver
driver = webdriver.Firefox()
driver.get("https://example.com")
element = driver.find_element_by_xpath("//div[@class='myDiv']")
text = element.text
- 斷言和驗證:在自動化測試中,驗證頁面上的特定行為和結果非常重要。Selenium提供了豐富的斷言和驗證方法,以確定應用程式的正确性。
頁面标題斷言:
Chrome浏覽器:
from selenium import webdriver
import assert
driver = webdriver.Chrome()
driver.get("https://example.com")
title = driver.title
assert "Example" in title
Firefox浏覽器:
from selenium import webdriver
import assert
driver = webdriver.Firefox()
driver.get("https://example.com")
title = driver.title
assert "Example" in title
頁面文本斷言:
Chrome浏覽器:
from selenium import webdriver
import assert
driver = webdriver.Chrome()
driver.get("https://example.com")
element = driver.find_element_by_xpath("//div[@class='myDiv']")
text = element.text
assert "Hello world" in text
Firefox浏覽器:
from selenium import webdriver
import assert
driver = webdriver.Firefox()
driver.get("https://example.com")
element = driver.find_element_by_xpath("//div[@class='myDiv']")
text = element.text
assert "Hello world" in text
這些示例示範了在不同的浏覽器中執行斷言操作。無論使用哪種浏覽器驅動,您可以使用相同的斷言方法來驗證頁面标題、文本等内容。隻需根據所使用的浏覽器類型選擇适當的驅動程式,然後使用相同的斷言語句來進行驗證。