安装与配置,注意只要一个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,在每个测试方法调用之后,调用一次