Web 應用程式的驗收測驗常常涉及一些手工任務,例如打開一個瀏覽器,并執行一個測驗用例中所描述的操作,但是手工執行的任務容易出現人為的錯誤,也比較費時間,因此,將這些任務自動化,就可以消除人為因素,Selenium 可以幫助我們自動化完成驗收測驗,通過構建更嚴格的測驗,從而使軟體更為可靠也更易于維護,
Selenium 支持 Web 瀏覽器的自動化,它提供一套測驗函式,用于支持 Web 自動化測驗,函式非常靈活,能夠完成界面元素定位、視窗跳轉、結果比較等功能,支持多種瀏覽器、多種編程語言(Java、C#、Python、Ruby、PHP 等)、支持多種作業系統(Windows、Linux、IOS、Android 等)、開源免費,它主要由三個工具組成:WebDriver、IDE、Grid,
Selenium架構
1080×456 85 KB
在客戶端(client)完成 Selenium 腳本撰寫,將腳本傳送給 Selenium 服務器,Selenium 服務器使用瀏覽器驅動(driver)與瀏覽器(browser)進行互動,
Selenium核心組件

-
WebDriver 使用瀏覽器提供的 api 來控制瀏覽器,就像用戶在操作瀏覽器,不具有侵入性,
-
IDE 是 Chrome 和 Firefox 擴展插件,可以錄制用戶在瀏覽器中的操作,
-
Grid 用于 Selenium 分布式,你可以在多個瀏覽器和作業系統運行測驗用例,
環境準備
Python 自帶的 pip 工具安裝
- Python 版本
pip install selenium
- Java 版本
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-server</artifactId>
<version>3.14.0</version>
</dependency>
- Python 版本
安裝 Selenium 的前提是擁有 Python 開發環境(推薦使用 PyCharm):
Selenium 是 Python 的第三方庫,可采用 PyCharm 自帶方式安裝,
選單欄 File → Settings 進入配置界面:
896×697 32.7 KB
搜索 Selenium → Install Package:
1080×400 66.9 KB
Selenium 支持多種瀏覽器,需要下載對應的瀏覽器版本的驅動,將瀏覽器驅動位置設定到環境變數,
各個瀏覽器驅動下載地址:chromedriver下載地址與webview自動化關鍵代碼 3
在 Python 檔案中撰寫代碼,如果程式能夠調起相應瀏覽器,說明安裝成功,
- Java 版本
當使用 Maven 或 Gradle 等構建工具時,會自動加載依賴項,
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-chrome-driver</artifactId>
<version>4.0.0</version>
</dependency>
實戰演示
#匯入 Selenium 包
from selenium import webdriver
#創建一個 Chromdriver 的實體,Chrome()會從環境變數中尋找瀏覽器驅動
driver = webdriver.Chrome()
# 打開 IE 瀏覽器
# driver = webdriver.Ie()
# 打開 Firefox 瀏覽器
# driver = webdriver.Firefox()
//導入 Selenium 包
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class AiceTest {
public static void main(String[] args) throws InterruptedException {
//創建一個 Chromdriver 的實體
WebDriver driver = new ChromeDriver();
}
}
這段代碼運行后會自動化的創建一個 Chrome 行程,
更多技術文章
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/469919.html
標籤:其他
上一篇:C++進階實體1--評委打分
下一篇:資料轉發程序
