1. 程式人生 > 其它 >結合EM快速解決複雜的配置問題(r4筆記第91天)

結合EM快速解決複雜的配置問題(r4筆記第91天)

Web 應用程式的驗收測試常常涉及一些手工任務,例如開啟一個瀏覽器,並執行一個測試用例中所描述的操作。但是手工執行的任務容易出現人為的錯誤,也比較費時間。因此,將這些任務自動化,就可以消除人為因素。Selenium 可以幫助我們自動化完成驗收測試,通過構建更嚴格的測試,從而使軟體更為可靠也更易於維護。

Selenium 支援 Web 瀏覽器的自動化,它提供一套測試函式,用於支援 Web 自動化測試。函式非常靈活,能夠完成介面元素定位、視窗跳轉、結果比較等功能。支援多種瀏覽器、多種程式語言(Java、C#、Python、Ruby、PHP 等)、支援多種作業系統(Windows、Linux、IOS、Android 等)、開源免費。它主要由三個工具組成:WebDriver、IDE、Grid。

Selenium架構

 

在客戶端(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 進入配置介面:

 

搜尋 Selenium → Install Package:

 

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 程序。

 

更多技術文章