簡體   English   中英

在 Azure DevOps 發布管道中運行 Java Selenium 測試

[英]Run Java Selenium tests in Azure DevOps release pipeline

我正在為 AzureDevops CI/CD 管道中的 Java 項目做 POC。 我創建了一個 Maven 項目,其中包含針對獨立於我的項目的演示網站運行的 Selenium 測試 (TestNG)。 我想在構建管道中運行單元測試,在發布管道中運行 UI Selenium 測試。

Visual Studio test任務似乎是我需要的構建塊。 我認為您可以使用 **\unit*Test.dll、**\ui*Test 等“測試文件”字段來區分單元測試和 UI 測試。 不幸的是,此任務不適用於 Java 項目/不兼容。

我能夠在構建期間使用 Maven 任務和 Surefire 插件運行 Selenium 測試,但請記住,我只想在構建期間運行單元測試。

實際上,我能夠通過以下解決方法在發布管道中運行 Selenium 測試:

  • 在構建期間將整個項目復制到發布的 artifacts 目錄(復制文件任務)。
  • 將 Maven 任務添加到發布管道
  • 在 pom.xml 中觸發 Selenium 測試

通常,您只會將工件復制到工件目錄,所以我認為這樣做是一個巨大的黑客攻擊。

另一個問題是 Maven 將在構建和發布期間構建項目,這很浪費。 為了減少浪費,一些精明的 Maven 配置可能會有所幫助。 我正在考慮在發布期間跳過編譯並解決依賴項,但我不知道在哪里可以找到 DevOps 生態系統中的 Maven 依賴項。

我是否遺漏了某些東西,或者 AzureDevops 可能沒有那么好地支持 Java?

我確實遵循了一種在 Azure DevOps 上進行 Maven 硒測試的方法。 我所做的是,在構建管道中,我構建測試的方式是生成一個包含所有依賴項和測試類的 jar。 我也在我的方法中使用了 testng。 接下來,我將構建工件復制到 Artifactory。 這樣就完成了構建。 現在,在發布期間,我從 Artifactory 下載了我的 Artifact,並檢查了我想要運行的環境,並通過運行 java -jar myfile.jar testngIT.xml 注入了正確的 testng 文件。 這可以更快更好地運行我的測試。

您可以嘗試在發布管道中添加測試任務,就像在構建管道中一樣。 並在構建管道中添加復制任務,將測試代碼和文件復制到構建工件並發布到發布管道。

以下步驟僅供參考(在經典視圖中)。 希望它可以有所幫助。

1,在構建管道中添加copy file任務,將所有測試文件和所有依賴的設置文件復制到工件中的測試文件夾中。

在此處輸入圖像描述

2、發布工件到發布管道

在此處輸入圖像描述

3,在發布管道中,添加任務以執行測試,就像在構建管道中一樣

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM