断言方法
目录
1、Assert类(硬断言)
2、SoftAssert(软断言)
在执行自动化测试用例的时候,我们需要自动判断用例执行完成后获得的输出值是否与预期值一致,这个时候就要用到断言方法。
分为:Assert类(硬断言)、SoftAssert类(软断言)
1、Assert类(硬断言)
Assert类:org.testng.Assert,作为放置一系列断言的静态方法的容器。
硬断言就是,运行到断言失败处,后面还有其他代码行,也不会继续执行下去。
断言方法基本上是有1至3个输入参数,1个参数为真或假;2-3个参数的顺序是actualValue(实际值)、expectedValue(期望值)、[, message](信息)。
断言方法:
代码语言:javascript复制(1)assertTrue:判断是否为True。
(2)assertFalse:判断是否为False。
(3)assertSame:判断引用地址是否相同。
(4)assertNotSame:判断引用地址是否不相同。
(5)assertNull:判断是否为null。
(6)assertNotNull:判断是否不为null。
(7)assertEquals:判断是否相等。
(8)assertNotEquals:判断是否不相等。
(9)assertEqualsNoOrder:判断忽略顺序是否相等。
1、创建AssertDemo类
脚本代码:
代码语言:javascript复制package com.demo.assertDemo;
import org.testng.Assert;
import org.testng.annotations.Test;
public class AssertDemo {
@Test
public void testCase1() {
Assert.assertEquals(1, 2, "用例失败");
System.out.println("打印信息testCase1");
}
@Test
public void testCase2() {
Assert.assertEquals(1, 1);
System.out.println("打印信息testCase2");
}
}
2、执行脚本(AssertDemo鼠标右键Run As--->TestNG Test)。
3、执行结果:
控制台打印结果信息:
testCase1方法断言失败,因为是硬断言,所以不执行后面的打印语句;
testCase2方法断言成功并执行后面的打印语句。
TestNG结果报告:
2、SoftAssert(软断言)
SoftAssert类:org.testng.asserts.SoftAssert,这个类是需要创建实例对象,才能调用相关实例方法进行软断言。
软断言就是,如果一个断言失败,会继续执行这个断言下的其他语句或者断言。
在该用例的最后一个断言后面一定要调用assertAll()方法。
1、创建SoftAssertDemo类
脚本代码:
代码语言:javascript复制package com.demo.assertDemo;
import org.testng.annotations.Test;
import org.testng.asserts.SoftAssert;
public class SoftAssertDemo {
@Test
public void testCase1() {
SoftAssert softAssert = new SoftAssert();
softAssert.assertEquals(1, 2, "用例失败");
System.out.println("打印信息testCase1");
softAssert.assertAll();
}
@Test
public void testCase2() {
SoftAssert softAssert = new SoftAssert();
softAssert.assertEquals(1, 1);
System.out.println("打印信息testCase2");
softAssert.assertAll();
}
}
2、执行脚本(SoftAssertDemo鼠标右键Run As--->TestNG Test)。
3、执行结果:
控制台打印结果信息:
testCase1方法断言失败,因为是软断言,所以执行后面的打印语句;
testCase2方法断言成功并执行后面的打印语句。
TestNG结果报告: