很好的介绍testng的网站:testng网站
用例执行控制:
1.TestNG.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="classes" thread-count="2">
<!-- -parallel="instances"不多线程;parallel="classes" class级别多线程;parallel="methods": 方法级别多线程 parallel="tests":测试用例标识级别 -->
<test verbose="2" preserve-order="true" name="TestDebug">
<parameter name="name" value="root" />
<parameter name="pass" value="123456" />
<parameter name="url" value="http://10.200.2.24:8680/pms-web/login.do" />
<classes>
<class name="com.pms.testcase.login" />
<!-- class name="com.pms.testcase.CreateSystemUser" /> -->
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
第一行:文件版本及编码类型。
第三行:suite设置用例套;parallel设置并发级别;thread-count设置并发数量。
第五行:test为suite的子元素,用于定义一个测试用例;
第六行:parameter,定义参数。
第九行:定义class执行顺序。
2.testng类文件控制:
参数获取:@Test(parameters ={"name","pass","url"}),获取参数
流程控制:
@BeforeClass:在执行类文件前执行
@AfterClass:在执行类文件后执行
@BeforeTest:在执行Test前执行
@AfterTest:在执行Test后执行
@Test:Test
初始化数据可在BeforeClass或BeforeTest内执行,收尾工作可以在AfterClass或AfterTest执行,Test执行测试。
结果判定:
Assert.assertTrue(condition);判定执行成功。
Assert.assertFalse(condition);判定失败。
Assert.assertEquals(expected, actual);判定相等。