testng 執行多個suite


我們知道testng的配置文件,一個.xml里面只能有一個suite,那么如果想要設置多個suite怎么弄呢?這個時候我們需要用到testng的標簽<suite-files>.

下面說一下我弄的一個實例,首先我有兩的suite,一個是UItest.xml,一個是APITest.xml,代碼如下:

UITest.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="UI test">
    <test name="baidu search test">
        <classes>
            <class name="testcase.CheckLink"></class>
        </classes>
    </test>
</suite>

APITest.xml:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="APITest">
    <test name="API">
        <classes>
            <class name="APITestcase.CheckWeather"></class>
        </classes>
    </test>
</suite>

這時候我也說說我走過的彎路吧,我的項目用了maven,maven關聯testng文件時用的是<suiteXmlFiles>,如下圖所示:

<!--讀取testNg配置文件-->
                    <suiteXmlFiles>
                        <suiteXmlFile>src/test/resources/testng.xml</suiteXmlFile>
                    </suiteXmlFiles>

     最初我是想着只要配置多一個<suiteXmlFile>就可以了,嘗試之后發現並不可行,從執行日志中可以看到已經執行完所有的測試類,但是html測試報告中只顯示了一個suite的測試結果,事與願違,所以放棄了這種配置方法,當然了這也很有可能是因為maven+testng+reportng有些關系配置我不懂造成的,他日這個方法如果可行我再來更新。

    話歸正題,最后為了代碼簡潔,我另外用一個testng.xml來把APITest.xml和UITest.xml整合起來,如下圖所示:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="systemTest">
    <suite-files>
        <suite-file path="APITest.xml"></suite-file>
        <suite-file path="UITest.xml"></suite-file>
    </suite-files>
</suite>

然后在 maven里只關聯testng.xml就可以了,最后執行結果如下圖所示:

 

 

 


免責聲明!

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



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