标签:not 属性 term stat pack ann assert sse res
//依赖坐标 <!-- https://mvnrepository.com/artifact/org.testng/testng --> <dependency> <groupId>org.testng</groupId> <artifactId>testng</artifactId> <version>6.14.3</version> <scope>test</scope> </dependency>
1、@Test
标记为测试方法
2、 @BeforeMethod/@AfterMethod
在某个测试方法(method)执行之前/结束之后
3、@BeforeClass/@AfterClass
在某个测试类(class)所有开始之前/结束之后
4、@BeforeTest/@AfterTest
在某个测试(test)所有测试方法执行开始之前/结束之后
5、@BeforeSuite/@AfterSuite
在某个测试套件(suite)所有测试方法执行开始之前/结束之后
package com.learn.testing; import org.testng.annotations.*; public class TestingTest { @BeforeMethod public void setUpMethod(){ System.out.println("测试方法之前"); } @AfterMethod public void tearDownMethod(){ System.out.println("测试方法之后"); } @BeforeClass public void setUpClass(){ System.out.println("测试类之前"); } @AfterClass public void tearDownClass(){ System.out.println("测试类之后"); } @Test public void printA(){ System.out.println("A"); } @Test public void printB(){ System.out.println("B"); } } 结果: 测试类之前 测试方法之前 A 测试方法之后 测试方法之前 B 测试方法之后 测试类之后
当我们在测试的过程中,因为某些方面的原因,比如测试方法没有写完,或者有问题,我们暂时希望它不得到执行,我们就可以添加忽略标签来跳过此方法的运行。
@Test(enabled = false)
“超时”表示如果自动化测试花费的时间超过指定的毫秒数,那么TestNG将会中止它并将其标记为失败。这样在某些业务场景下,我们认为一个请求时间过长我们就可以直接宣判他因为超时而失败。
@Test(timeout=1000)
timeout属性的单位为毫秒。
@Test(timeOut=1000) public void printA() throws InterruptedException { Thread.sleep(2000); System.out.println("A"); }
测试方法依赖于某些方法
示例:
@Test(dependsOnMethods={"test2"})
方法执行顺序
step1:先执行被依赖的方法
step2:再依次执行没配置依赖的方法
step3:最后执行需要依赖的测试方法
(本来的执行顺序是按照字母先后执行的)
public class TestingTest02 { @Test(dependsOnMethods = {"printC", "printB"}) public void printA() { System.out.println("A"); } @Test public void printB() { System.out.println("B"); } @Test public void printC() { System.out.println("C"); } } 结果: B C A //A依赖于BC,所以先执行BC
@Test(priority = 1)
数字越小,优先级越高
1、Assert.assertTrue();
判断是否为True
2、Assert.assertFalse();
判断是否为false
3、Assert.assertEquals()
判断是否相等
String expectedValue ="lemon";
int statusCode=200;
Assert.assertEquals("lemo",expectedValue);
Assert.assertEquals(404,statusCode);
Assert.assertTrue(statusCode==404);
Assert.assertTrue(statusCode==200);
//web自动化一般根据什么来去做断言:
//1、URL地址 2、title 3、页面提示信息 4、元素属性
标签:not 属性 term stat pack ann assert sse res
原文地址:https://www.cnblogs.com/erchun/p/13242239.html