天天看點

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本

testng xml配置檔案

簡單介紹

運作TestNG測試腳本有兩種方式:一種是直接通過IDE運作(例如使用eclipse中的“Run TestNG tests”),另一種是從指令行運作(通過使用xml配置檔案)。當我們想執行某個包或者某個類中的一部分測試腳本的時候,使用xml配置檔案是非常便利的。在xml配置檔案裡,不僅可以選擇某些需要執行的測試腳本,還可以排除某些不需要運作的測試腳本。

建立testng.xml檔案

建立xml檔案很容易,隻需要在其中填充一些内容。

1)首先要聲明一個suite的名字,用于描述将要運作的測試腳本集,可以根據自己需要任意命名,最終這個名字會在testng的測試報告中看到。

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="SuiteName" verbose="1" >  
    <test name="TestName" >      

2)如果選擇的測試腳本是基于組的(使用了@Test (groups={"student"})這樣的注解),那麼接下來需要聲明如何使用這些組:包含或者排除。如果使用了include标簽标注某些組,那麼在選擇的測試腳本中,隻有屬于那些組的測試腳本會被運作。那些未被選中的測試腳本,或者被選中卻不屬于某些組的測試腳本都不會被運作。需要注意,一個測試腳本可以屬于很多個組,隻要有一個組被include标簽标注,那麼它就會被運作。如果使用了exclude标簽标注某些組,那麼在選擇的腳本中,隻有不屬于那些組的測試腳本會被運作。如果同時使用了include标簽和exclude标簽,那麼擁有被include标注的組的那些腳本會被運作,擁有被exclude标注的腳本不會被運作。有一個例外是,一個組同時被include和exclude标注了,那麼擁有這個組的腳本會被運作。include和exclude标簽的使用方式如下:

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
<groups>
  <run>
     <include name = "includedGroupName" />
     <exclude name = "excludedGroupName" />
  </run>
</groups>      
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本

3)選擇測試腳本可以從包、類、方法三個層級進行。

選擇一個包

<packages>
    <package name = "packageName" />
</packages>      

選擇一個類

<classes>
    <class name = "className" />
</classes>      

選擇一個方法

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
<classes>
    <class name = "className" />
       <methods>
          <include name = "methodName" />
       </methods>
    </class>
</classes>      
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本

xml檔案樣例

1)選擇一個包中的全部測試腳本(包含子包)

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="First suite" verbose="1" >
<test name = "allTestsInAPackage" >
   <packages>
      <package name = "whole.path.to.package.* />
   </packages>
</test>
</suite>      
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本

2)選擇一個類中的全部測試腳本

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Second suite" verbose="1" >
<test name = "allTestsInAClass" >
   <classes>
  <class name="whole.path.to.package.className />
   </classes>
</test>
</suite>      
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本

3)選擇一個類中的部分測試腳本

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Third suite" verbose="1" >
<test name = "aFewTestsFromAClass" >
   <classes>
  <class name="whole.path.to.package.className >
      <methods>
         <include name = "firstMethod" />
         <include name = "secondMethod" />
         <include name = "thirdMethod" />
      </methods>
  </class>
   </classes>
</test>
</suite>      
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本

4)選擇一個包中的某些組

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Fourth suite" verbose="1" >
<test name = "includedGroupsInAPackage" >
   <groups>
      <run>
         <include name = "includedGroup" />
      </run>
   </groups>
   <packages>
      <package name = "whole.path.to.package.* />
   </packages>
</test>
</suite>      
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本

5)排除一個包中的某些組

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<suite name="Fifth suite" verbose="1" >
<test name = "excludedGroupsInAPackage" >
   <groups>
      <run>
         <exclude name = "excludedGroup" />
      </run>
   </groups>
   <packages>
      <package name = "whole.path.to.package.* />
   </packages>
</test>
</suite>      
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本

在maven的pom.xml檔案中配置testng.xml

需要在pom檔案中,指明testng.xml檔案的位置。

maven使用surefire這個插件進行測試,可以執行testng或者Junit腳本。

文法為 <suiteXmlFile>src/test/resources/testNGFilesFolder/${testNgFileName}.xml</suiteXmlFile> 

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
<dependencies>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-api</artifactId>
            <version>2.8</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.19</version>
                <configuration>
                    <suiteXmlFiles>
                        <suiteXmlFile>testng.xml</suiteXmlFile>//該檔案位于工程根目錄時,直接填寫名字,其它位置要加上路徑。
                    </suiteXmlFiles>
                </configuration>
            </plugin>
        </plugins>
    </build>      
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本

運作測試腳本

方法一:在IDE,例如IntellJ IDEA中,滑鼠右擊testng.xml檔案,選擇run即可。

方法二:進入到項目工程的根目錄,使用 mvn clean test -Dtestng.xml 指令,結果如下:

testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本
[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building ArtifactIdWang 1.0-SNAPSHOT
[INFO] ------------------------------------------------------------------------
.
.
.
-------------------------------------------------------
 T E S T S
-------------------------------------------------------
Running TestSuite
now start test
Test started runningtemplistener1at:1487125608088
i'm listenerTest1
Result success
Test started runningtemplistener2at:1487125608660
i'm listenerTest2
Result success
now finish test
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 7.125 sec - in TestSuite

Results :

Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:13 min
[INFO] Finished at: 2017-02-15T10:26:51+08:00
[INFO] Final Memory: 22M/182M
[INFO] ------------------------------------------------------------------------      
testng.xml配置說明(拷貝的)testng xml配置檔案簡單介紹建立testng.xml檔案xml檔案樣例在maven的pom.xml檔案中配置testng.xml運作測試腳本