[英]How can I specify TestNG tests to run in Jenkins build?
我正在使用Java,Selenium,Maven和TestNG執行自動測試。 我正在使用Jenkins克隆GitHub存儲庫並在構建開始時開始測試。 目前,我已經在一個項目中針對多個應用程序進行了測試。 我的testng.xml文件看起來與下面類似,“ appOne”是一個應用程序,“ appTwo”是另一個應用程序,均運行“生產”分組測試。
<test name="appOne">
<groups>
<run>
<include name = "production" />
</run>
</groups>
</test>
<test name="appTwo">
<groups>
<run>
<include name = "production" />
</run>
</groups>
</test>
有沒有一種方法可以通過Jenkins傳遞這些參數,以便我可以選擇要在每個Jenkins構建中運行的應用程序。 如果我要運行“測試”組中的所有測試,也可能會發生這種情況。 當前,我在testng.xml文件中進行更改,然后將更改提交到GitHub。
還是對每個應用程序有一個單獨的項目,從而使每個應用程序使用不同的testng.xml文件使用不同的版本會更好?
還是對每個應用程序有一個單獨的項目,從而使每個應用程序使用不同的testng.xml文件使用不同的版本會更好?
如果這是兩個不同的應用程序,並且沒有合理的原因,則最好在詹金斯中為每個應用程序分開工作。
@ mbn217在評論中給了我答案。 我從testng.xml文件中刪除了所有組。 然后,我將每個應用程序的testng.xml文件拆分(每個應用程序一個文件)。 在我的pom.xml中,我的surefire插件如下所示:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.19.1</version>
<configuration>
<suiteXmlFiles>
<suiteXmlFile>${testngTarget}</suiteXmlFile>
<suiteXmlFiles>
<groups>${groupTarget}</groups>
</configuration>
</plugin>
在Jenkins中,我添加了它是參數化的內部版本,並添加了參數的名稱和默認值。 工作完美。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.