安裝與配置,注意只要一個jdk1.5的testng包
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> //首行內容,在temp-testng-customsuite.xml自動生成
<suite name="com.gubo.test"> //定義套件的名稱,和項目名稱相同即可
<parameter name="target_server" value="127.0.0.1"/> //定義參數的名稱和值
<test verbose="2" name="com.gubo.FirstTestSample" annotations="JDK"> //冗餘=2? | 測試用例的名稱 |使用的JDK版本
<groups> //通過組的方式運行
<run>
<include name="functional_test"/> //運行哪些組?,這裏定義了functional_test組
<include name="init"/> //記得加斜槓
</run>
</groups>
<classes> //定義類名
<class name="com.gubo.FirstTestSample"/> //命名方式:包名.類名 記得加雙引號和斜槓
<methods>
<include name="testFail"/> //定義要運行的方法,定義了方法,定義的組將不執行
</methods>
</classes>
</test>
</suite>
這個配置文件
package com.gubo;
import org.testng.annotations.*;
public class FirstTestSample {
public FirstTestSample() {
super();
}
@Parameters({ "targetserver" }) //標示參數
@Test(groups={"functional_test"},
dependsOnMethods = { "setEnvForPass" }) //表示要先執行setEnvForPass
public void testPass(String targetServer) {
assert true : "This test should pass.";
System.out.println(targetServer);
}
@Test
public void testFail() {
assert false : "This test will fail";
}
@Test(groups={"init"})
public void setEnvForPass(){
assert true: "This is dependent method";
}
@Configuration(beforeTestClass = true)
public void doBeforeTests() {
System.out.println("invoke before test class!");
}
@Configuration(afterTestClass = true)
public void doAfterTests() {
System.out.println("invoke after test class!");
}
}
configuration中的屬性
beforeSuite=true,所修飾的方法將在測試套件(也就是配置文件中的Suite Tag)中任何一個方法調用之前,調用一次
afterSuite=true,所修飾的方法將在測試套件中所有方法都調用過後,調用一次
beforeTest=true,在測試用例(配置文件中Test Tag)中任何一個測試方法調用之前,調用一次
afterTest=true, 在測試用例中任何所有方法都調用之後,調用一次
beforeTestClass=true,在測試類中任何測試方法調用之前,調用一次
afterTestClass=true,在這個測試類中所有方法都調用過後,調用一次
beforeTestMethod=true,在每個測試方法調用之前,調用一次
afterTestMethod=true,在每個測試方法調用之後,調用一次