發佈時間:March 19,2019
如何使用管線啟動 Jenkins Selenium 測試
Jenkins 是一個開源的 Java 軟體系統,旨在幫助使用者進行以下操作: 持續軟體集成 Jenkins 是一個基於伺服器的系統,運行在 Apache Tomcat 等 Servlet 容器中。它支援版本控制工具(例如 Git),並且可以基於 Apache Ant、Apache Maven 和 sbt 以及任意 shell/Windows 批次腳本和命令來執行專案。在大型系統的開發過程中,需要一種… 持續部署流程 並測試產品的新版本。為了解決這個問題,我們將使用 Jenkins SeleniumPipeline。
Jenkins Selenium Pipeline 是一套插件,支援將持續交付整合到 Jenkins 中。換句話說,它是一個包含多個任務的腳本,可以在滿足特定條件時執行。讓我們來看一個使用 Pipeline 的範例。了解更多 Digital.ai Continuous Testing 集成,查看 此處.
我們的任務是建立一個管線,它會在每次向 Maven 公共測試倉庫推送程式碼時自動啟動。該倉庫將儲存一個 Maven 項目,其中包含一個使用 Selenium WebDriver 編寫的 UI 自動化測試。
我們的 Jenkins Pipeline 將接收程式碼更改,建立項目,並執行簡單的自動化測試。
步驟:
1) 免費下載 詹金斯。
2) 依照安裝程式的提示,使用建議參數進行安裝。 (重要提示:建議將 Jenkins 安裝在可存取網路的獨立機器上,因為需要將您的執行個體連接到程式碼倉庫。但是,為了演示,我們可以(並且在本文中也將)使用透過 Ngrok 工具存取的本機 Jenkins 專案。)
3)安裝完成後,點選「建立新作業」按鈕。
4)然後,選擇「管道」部分,輸入作業名稱。按一下“確定”。
5)之後,轉到“管道”部分,並設定以下參數:
a) 定義 = “來自 SCM 的管線腳本”
b) SCM = “Git”
6) 設定代碼倉庫。這裡的「腳本路徑」欄位預設為「Jenkinsfile」—這是包含 Jenkins Pipeline 將執行的所有任務描述的腳本檔案的名稱。預設情況下,該檔案應位於代碼倉庫的根目錄。我們稍後會詳細介紹如何建立和設定 Jenkinsfile,現在我們先準備一個程式碼倉庫和一個 Selenium 測試專案。現在,只需點擊「儲存」按鈕即可。
7) 我們的自動測試腳本將造訪該頁面 https://experitest.com/free-trial/ 然後檢查此頁面的標題,我們將看到「測試通過」或「測試失敗」的訊息。因此,我們將使用 Chrome驅動程序 以及 IntelliJ IDEA IDE,如有需要,請下載並安裝。
8) 在你的 IDE 中建立一個標準的 Maven 項目,並將 chromedriver.exe 放置在 Jenkins Selenium 實例的安裝目錄下。就我而言, 點擊此處查看程式碼.
[java] package com.test; import org.openqa.selenium.網頁修改此路徑 WebDriver driver = new ChromeDriver(); String baseUrl = “https://experitest.com/free-trial/”; String expectedTitle = “免費試用”; String actualTitle = “”; driver.get(baseUrl); mTitle System.out.println(“測試通過!”); } else { System.out.println(“測試失敗”); } driver.close(); } } [/java]
9) 為了確保測試成功,我們將在本地運行它。開啟內建終端機(位於IDEA介面右下角),然後輸入以下命令:
a) mvn clean install – 此指令執行後,將建立一個資料夾 /target,並在其中建立一個檔案 com.test-1.0-SNAPSHOT.jar。
b) java -jar {本地專案路徑}comtesttargetcom.test-1.0-SNAPSHOT.jar – 此指令將啟動我們的測試。
結果見截圖:
10) 現在我們的專案已經準備就緒,可以將其放在測試倉庫的根目錄下。在同一位置,我們將建立一個 Jenkinsfile 檔案。如下圖所示:
11)現在我們可以討論一下Jenkinsfile的內容了, 其代碼可在此處查看。.
這裡:
a) node { } – 腳本的某種包裝器。腳本在其內部被分為多個階段。
b) 階段(「SCM 檢出」)-準備階段,在此期間,我們將從我們的儲存庫接收更新。
c) 階段(「建置」)-主要階段,在此階段中,Jenkins 將執行與我們上面從控制台在本機執行的相同步驟。
d) dir (“comtest”) – 在特定資料夾中工作。
e) sh “mvn clean install” – 執行 shell 指令。
12) 在此步驟中,我們可以手動啟動 Jenkins Pipeline,以確保其正常運作。
您可以以文字形式或分步驟的方式查看流程的工作結果。
“控制台輸出”選項:
“管道步驟”選項:
但我們的目標不僅是創建一個用於自動化測試的 Jenkins Pipeline,還要實現其自動化啟動。讓我們開始吧!
13) 安裝與 GitLab 整合的插件。為此,請前往下一節:Jenkins=>管理 Jenkins=>管理插件
然後選擇“可用”選項卡,並在搜尋欄位中輸入“gitlab”。安裝必要的插件並重新啟動 Jenkins。
14)更新完成後,我們回到設定介面。前往 Jenkins=>設定係統。
a) 將 GitLab 倉庫加入外掛程式:
注意:出於我們的目的,必須使用公共儲存庫,因此我們不應該指定任何憑證。
b) 檢查 Jenkins URL 是否有效。如果您將 Jenkins Pipeline 實例安裝在單獨的機器上,則應跳過此步驟。如果您像我一樣使用本機,則會在「Jenkins URL」欄位中看到 localhost。
在這種情況下,我們需要取得一個URL,GitLab可以透過網路存取該URL。正如我之前所說,有一種簡單的方法可以做到這一點—— 恩格羅克.
按照此工具的簡單說明,取得我們的測試 Jenkins 所在的 URL:
我們將把這個位址填入 Jenkins URL 字段,並儲存所有變更。
15) 現在,請前往 GitLab 設定:GitLab=>專案=>設定=>整合。我們需要配置 Jenkins CI webhook。點擊以下連結:
與 Jenkins CI 的整合設定如下所示或類似:
16) 更新我們的 Jenkins Pipeline (pipeline_selenium1) 的設置,以使用 GitLab webhook。
17)就這些!現在讓我們向程式碼倉庫推送一些內容,看看 Jenkins 會發生什麼。
Jenkins 管線啟動完成
如您所見,我們提供了一種簡單的方法來建立 Jenkins Pipeline,它可以在無需人工幹預的情況下執行 Selenium 自動化測試。該 Pipeline 還允許我們自動執行任何準備操作。要了解更多關於 Jenkinsfile 語法的信息,您可以點擊 Pipeline 語法連結(如最後一張截圖所示)。
如果您對這篇部落格感興趣,請訪問 Digital.ai Continuous Testing 了解如何透過可擴充的 Web 和 移動測試.





















