1 回答

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個贊
下面看看是如何一步步實(shí)現(xiàn)的:
1、在TestNG的XML中設(shè)置參數(shù)。下 面的截圖中,我設(shè)了兩個參數(shù),一個是testEnv,另一個是browser。參數(shù)的值可以直接寫死,也可以由外部傳入。參數(shù)有不同的作用域,如直接寫 在<suite>下,那他的作用域就是整個suite。如寫在<test>下,那他的作用域就是所在的test。
2、在測試代碼中使用參數(shù)。
如下所示,我是在beforeClass 方法中,根據(jù)傳入的兩個參數(shù)來初使化瀏覽器和load 相應(yīng)環(huán)境的測試數(shù)據(jù)。
3、修改pom.xml文件
4、Jenkins job 傳入?yún)?shù)并執(zhí)行mvn命令
在job中,我設(shè)置了兩個參數(shù),并給出了默認(rèn)值。執(zhí)行job時,可直接使用該默認(rèn)值或根據(jù)實(shí)際情況把參數(shù)的值改成自己想要的。
下面是Maven命令:
mvn clean test -DtestEnv=%testEnv% -DxmlFileName=%xmlFileName%
執(zhí)行這條命令時,我們把testEvn及xmlFileName兩個參數(shù)的值傳入了pom.xml文件,接著,Maven在調(diào)用TestNG時又會把參數(shù)傳過去。經(jīng)過如上四個步驟,我們可以通過參數(shù)傳遞,靈活的指定測試環(huán)境、測試范圍等,而不需要對測試腳本做任何改動。
這邊要講下xmlFileName這個參數(shù)。因?yàn)榭紤]到要執(zhí)行不同的用例集,比如只針對某一模塊進(jìn)行自動化測試,或?qū)?xiàng)目所有的功能進(jìn)行全面回歸,我們可以創(chuàng)建不同的TestNG XML文件,然后在執(zhí)行mvn命令時指定你想要跑的那個XML文件。
該方法適用于所有使用Jenkins + Maven + TestNG的測試場景。
添加回答
舉報