1、testng常用注解
注解 | 描述 |
---|---|
@BeforeSuite | 在该套件的所有测试都运行在注释的方法之前,仅运行一次 |
@AfterSuite | 在该套件的所有测试都运行在注释方法之后,仅运行一次 |
@BeforeClass | 在调用当前类的第一个测试方法之前运行,注释方法仅运行一次 |
@AfterClass | 在调用当前类的第一个测试方法之后运行,注释方法仅运行一次 |
@BeforeTest | 注释的方法将在属于test标签内的类的所有测试方法运行之前运行 |
@AfterTest | 注释的方法将在属于test标签内的类的所有测试方法运行之后运行 |
@BeforeGroups | 配置方法将在之前运行组列表。 此方法保证在调用属于这些组中的任何一个的第一个测试方法之前不久运行 |
@AfterGroups | 此配置方法将在之后运行组列表。该方法保证在调用属于任何这些组的最后一个测试方法之后不久运行 |
@BeforeMethod | 注释方法将在每个测试方法之前运行 |
@AfterMethod | 注释方法将在每个测试方法之后运行 |
@DataProvider | 标记一种方法来提供测试方法的数据。 注释方法必须返回一个Object [] [] ,其中每个Object [] 可以被分配给测试方法的参数列表。 要从该DataProvider 接收数据的@Test 方法需要使用与此注释名称相等的dataProvider 名称 |
@Factory | 将一个方法标记为工厂,返回TestNG 将被用作测试类的对象。 该方法必须返回Object [] |
@Listeners | 定义测试类上的侦听器 |
@Parameters | 描述如何将参数传递给@Test 方法,在做数据驱动等测试方法时比较常用 |
@Test | 将类或方法标记为测试的一部分,此标记若放在类上,则该类所有公共方法都将被作为测试方法 |
2、testng xml文件说明
一、suite常用参数:
@name: suite的名称,必须参数,会体现在测试报告中。
@configfailurepolicy:一旦Before/After Class/Methods这些方法失败后,是继续执行测试还是跳过测试;可选值 (skip | continue),默认"skip"
@parallel:是否多线程并发运行测试;两种配置方法:设定指定的test标签;所有用例都执行,参数配置为methods
@thread-count: 线程数
二、test参数:
@name:test的名字,必选参数,会体现在测试报告中。
@parallel:是否多线程并发运行测试
@enabled:设置当前test是否生效,可选值(true | false),默认"true"
@skipfailedinvocationcounts:是否跳过失败的调用,可选值(true | false),默认"false"
@preserve-order:顺序执行开关,可选值(true | false) "true"
@group-by-instances:是否按实例分组,可选值(true | false) "false"
三、用例集合设置
group控制所执行的测试用例:(在编写测试用例时要配置测试用例组@Test (groups={"student"})
排除某个测试用例或者测试类:<exclude name = "casegroup" />
四,断言
Assert断言类:
a)、Assert.assertTrue();
assertTrue()如果实际输出的结果是false,测试不通过,并停止执行。
b)、Assert.assertFalse();
assertFalse()如果实际输出的结果是true,测试不通过,并停止执行。
c)、Assert.assertEquals()
assertEquals()如果值不等,就会停止执行,测试不通过。如果值相等就会继续执行。
assertEquals()方法包含很多不同参数类型的重载方法。
例子: Assert.assertEquals(1,2);
不建议直接使用,可以做二次封装后再使用