Jenkins,Maven及TestNG在自動化測試的應用(轉)


轉自:http://qa.blog.163.com/blog/static/190147002201581634549893/
希望實現的場景:Jenkins中的Job可針對不同瀏覽器,不同環境,運行不同的測試用例集,但測試用例只保持一份。
具體實現的思路:在運行Jenkins Job時傳入參數,運行 mvn test 命令時把相應的參數帶上,最終影響被執行的測試用例。
 
下面看看是如何一步步實現的:

1、在TestNG的XML中設置參數。下 面的截圖中,我設了兩個參數,一個是testEnv,另一個是browser。參數的值可以直接寫死,也可以由外部傳入。參數有不同的作用域,如直接寫 在<suite>下,那他的作用域就是整個suite。如寫在<test>下,那他的作用域就是所在的test。

 
2、在測試代碼中使用參數。
如下所示,我是在beforeClass 方法中,根據傳入的兩個參數來初使化瀏覽器和load 相應環境的測試數據。
 
3、修改pom.xml文件
 
   

4、Jenkins job 傳入參數並執行mvn命令

 在job中,我設置了兩個參數,並給出了默認值。執行job時,可直接使用該默認值或根據實際情況把參數的值改成自己想要的。
下面是Maven命令:
mvn clean test -DtestEnv=%testEnv% -DxmlFileName=%xmlFileName%
執行這條命令時,我們把testEvn及xmlFileName兩個參數的值傳入了pom.xml文件,接着,Maven在調用TestNG時又會把參數傳過去。 經過如上四個步驟,我們可以通過參數傳遞,靈活的指定測試環境、測試范圍等,而不需要對測試腳本做任何改動。
這邊要講下 xmlFileName這個參數。因為考慮到要執行不同的用例集,比如只針對某一模塊進行自動化測試,或對項目所有的功能進行全面回歸,我們可以創建不同的TestNG XML文件,然后在執行mvn命令時指定你想要跑的那個XML文件。
該方法適用於所有使用Jenkins + Maven + TestNG的測試場景。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM