簡體   English   中英

如何指定要在Jenkins版本中運行的TestNG測試?

[英]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.

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