簡體   English   中英

需要將 TestNG SuiteName 傳遞給 Jenkins 參數,以便我可以在構建后操作中使用它來發送 html 報告為 Z0C839F57C3736EFC7B

[英]Need to pass TestNG SuiteName to Jenkins Parameter, so that i can use it in post build actions to send html report as email

我正在使用參數化作業在 Jenkins 中運行 Selenium 套件,我正在生成自定義 html 報告在test-output\suiteName中,並在一個並行運行的作業報告之后創建報告。 現在,我的問題是如何使用動態套件名稱路徑訪問 html 報告。 即“測試輸出\${suiteName}\report.html ”。 我已將參數設置為套件名稱,但如何從偵聽器設置套件名稱。

如果有任何其他解決方案來解決這種情況,也值得贊賞。

想象你的情況還不夠詳細,但我試圖幫助我覺得這可能是如何實現的。

  1. 您有一個 Jenkins 參數suiteName

  2. 您通過運行測試命令傳遞此參數。 例如,如果您使用的是 maven:

     mvn clean test -DsuiteName=${suiteName}
  3. 在您的測試項目中

    我正在生成自定義 html 報告

    3.1。 您已經有一些代碼可以生成報告。 這是一個自定義的 TestNG 監聽器實現(你已經提到過)。

    3.2. 在偵聽器中,您有一些變量,它定義了 html 報告 output。

    3.3 這個變量是從你在測試運行命令中傳遞的環境變量中填充的。

     public class CustomHtmlReportGenerator implements <some testNG listener interface { public static final String OUTPUT_PATH = "test-output\" + System.getProperty("suiteName") + "\report.html"; // reporter implementation public void saveReportToFile() { // OUTPUT_PATH used here } }

所以,對於這個實現:

   ${suiteName} defined as Jenkins Job Parameter ->

             ${suiteName} passed to command line ->

                       ${suiteName} used in runtime by Custom TestNG Listener

但是如何從偵聽器中設置套件名稱

這個問題對我來說仍然不清楚,但我希望我的解釋可以幫助你得到你想要的。

暫無
暫無

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

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