Testng.xml文件結構組成及節點屬性說明
testng.xml文件結構:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="suitename" junit="false" verbose="3" parallel="false" thread-count="5" configfailurepolicy="<span style="font-family:Arial;"><span style="font-size: 14px; line-height: 26px;">skip</span></span>" annotations="javadoc" time-out="10000" skipfailedinvocationcounts="true" data-provider-thread-count="5" object-factory="classname" allow-return-values="true"> <!-- name參數為必須 --> <suite-files> <suite-file path="/path/to/suitefile1"></suite-file> <!-- path參數為必須 --> <suite-file path="/path/to/suitefile2"></suite-file> </suite-files> <parameter name="par1" value="value1"></parameter> <!-- name, value參數為必須 --> <parameter name="par2" value="value2"></parameter> <method-selectors> <method-selector> <selector-class name="classname" priority="1"></selector-class> <!-- name參數為必須 --> <script language="java"></script> <!-- language參數為必須 --> </method-selector> </method-selectors> <test name="testename" junit="false" verbose="3" parallel="false" thread-count="5" annotations="javadoc" time-out="10000" enabled="true" skipfailedinvocationcounts="true" preserve-order="true" allow-return-values="true"> <!-- name參數為必須 --> <parameter name="par1" value="value1"></parameter> <!-- name, value參數為必須 --> <parameter name="par2" value="value2"></parameter> <groups> <define name="xxx"> <!-- name參數為必須 --> <include name="" description="" invocation-numbers="" /> <!-- name參數為必須 --> <include name="" description="" invocation-numbers="" /> </define> <run> <include name="" /> <!-- name參數為必須 --> <exclude name="" /> <!-- name參數為必須 --> </run> <dependencies> <group name="" depends-on=""></group> <!-- name,depends-on均為參數為必須 --> <group name="" depends-on=""></group> </dependencies> </groups> <classes> <class name="classname"> <!-- name參數為必須 --> <methods> <parameter name="par3" value="value3"></parameter> <include name="" description="" invocation-numbers=""></include> <exclude name=""></exclude> </methods> <methods></methods> </class> </classes> <packages> <package name="" /> <!-- name參數為必須 --> <package name=""> <include name="" description="" invocation-numbers=""></include> <exclude name=""></exclude> </package> </packages> <listeners> <listener class-name="classname1" /> <!-- name參數為必須 --> <listener class-name="classname2" /> </listeners> </test> <test></test> </suite> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> <suite name="suitename" junit="false" verbose="3" parallel="false" thread-count="5" configfailurepolicy="<span style="font-family:Arial;"><span style="font-size: 14px; line-height: 26px;">skip</span></span>" annotations="javadoc" time-out="10000" skipfailedinvocationcounts="true" data-provider-thread-count="5" object-factory="classname" allow-return-values="true"> <!-- name參數為必須 --> <suite-files> <suite-file path="/path/to/suitefile1"></suite-file> <!-- path參數為必須 --> <suite-file path="/path/to/suitefile2"></suite-file> </suite-files> <parameter name="par1" value="value1"></parameter> <!-- name, value參數為必須 --> <parameter name="par2" value="value2"></parameter> <method-selectors> <method-selector> <selector-class name="classname" priority="1"></selector-class> <!-- name參數為必須 --> <script language="java"></script> <!-- language參數為必須 --> </method-selector> </method-selectors> <test name="testename" junit="false" verbose="3" parallel="false" thread-count="5" annotations="javadoc" time-out="10000" enabled="true" skipfailedinvocationcounts="true" preserve-order="true" allow-return-values="true"> <!-- name參數為必須 --> <parameter name="par1" value="value1"></parameter> <!-- name, value參數為必須 --> <parameter name="par2" value="value2"></parameter> <groups> <define name="xxx"> <!-- name參數為必須 --> <include name="" description="" invocation-numbers="" /> <!-- name參數為必須 --> <include name="" description="" invocation-numbers="" /> </define> <run> <include name="" /> <!-- name參數為必須 --> <exclude name="" /> <!-- name參數為必須 --> </run> <dependencies> <group name="" depends-on=""></group> <!-- name,depends-on均為參數為必須 --> <group name="" depends-on=""></group> </dependencies> </groups> <classes> <class name="classname"> <!-- name參數為必須 --> <methods> <parameter name="par3" value="value3"></parameter> <include name="" description="" invocation-numbers=""></include> <exclude name=""></exclude> </methods> <methods></methods> </class> </classes> <packages> <package name="" /> <!-- name參數為必須 --> <package name=""> <include name="" description="" invocation-numbers=""></include> <exclude name=""></exclude> </package> </packages> <listeners> <listener class-name="classname1" /> <!-- name參數為必須 --> <listener class-name="classname2" /> </listeners> </test> <test></test> </suite> |
testng.xml文件節點屬性說明:
suite屬性說明:
@name: suite的名稱,必須參數
@junit:是否以Junit模式運行,可選值(true | false),默認"false"
@verbose:命令行信息打印等級,不會影響測試報告輸出內容;可選值(1|2|3|4|5)
@parallel:是否多線程并發運行測試;可選值(false | methods | tests | classes | instances),默認 "false"
@thread-count:當為并發執行時的線程池數量,默認為"5"
@configfailurepolicy:一旦Before/After Class/Methods這些方法失敗后,是繼續執行測試還是跳過測試;可選值 (skip | continue),默認"skip"
@annotations:獲取注解的位置,如果為"javadoc", 則使用javadoc注解,否則使用jdk注解
@time-out:為具體執行單元設定一個超時時間,具體參照parallel的執行單元設置;單位為毫秒
@skipfailedinvocationcounts:是否跳過失敗的調用,可選值(true | false),默認"false"
@data-provider-thread-count:并發執行時data-provider的線程池數量,默認為"10"
@object-factory:一個實現IObjectFactory接口的類,用來實例測試對象
@allow-return-values:是否允許返回函數值,可選值(true | false),默認"false"
@preserve-order:順序執行開關,可選值(true | false) "true"
@group-by-instances:是否按實例分組,可選值(true | false) "false"
test屬性說明:
@name:test的名字,必選參數;測試報告中會有體現
@junit:是否以Junit模式運行,可選值(true | false),默認"false"
@verbose:命令行信息打印等級,不會影響測試報告輸出內容;可選值(1|2|3|4|5)
@parallel:是否多線程并發運行測試;可選值(false | methods | tests | classes | instances),默認 "false"
@thread-count:當為并發執行時的線程池數量,默認為"5"
@annotations:獲取注解的位置,如果為"javadoc", 則使用javadoc注解,否則使用jdk5注解
@time-out:為具體執行單元設定一個超時時間,具體參照parallel的執行單元設置;單位為毫秒
@enabled:設置當前test是否生效,可選值(true | false),默認"true"
@skipfailedinvocationcounts:是否跳過失敗的調用,可選值(true | false),默認"false"
@preserve-order:順序執行開關,可選值(true | false) "true"
@group-by-instances:是否按實例分組,可選值(true | false) "false"
@allow-return-values:是否允許返回函數值,可選值(true | false),默認"false"
posted on 2014-11-28 10:22 順其自然EVO 閱讀(435) 評論(0) 編輯 收藏 所屬分類: 測試學習專欄