TestNG测试结果
一、成功、失败和断言:
如果一个测试没有抛出任何异常就完成运行或者说抛出了期望的异常
此时,这个测试是成功的。
测试方法的组成常常包括抛出多个异常,或者包含各种各样的断言
(使用Java "assert" 关键字)。一个 "assert" 失败会触发一个 AssertionErrorException,
结果就是测试方法被标记为失败(见例子:test1.java)
TestNG框架:
1、一个方法(标注@Test),运行失败(即抛出异常、断言或错误,此方法中断)后,
自动运行下一个方法(而一般程序,遇到异常或错误时,整个程序会中断)
2、而针对我们的ERP系统,由于一个方法中包含检验的点较多(一般一个方法
(即一个用例)只含一个检查点(断言)),故得设法让其即使检验失败后
(检验失败不一定是系统有问题),仍能继续向下运行
例子:一个方法含修改和新增功能
一个修改功能,保存后提示秒闪提示语,检验该提示语,由于等待时间没把握好,
没能检验到,故不能让其中断,只需进行截图(用于结果分析),得继续运行下面的功能
二、TestNG断言失败不中断继续执行
监听器 实现接口 org.testng.ITestListener ,
并且会在测试开始、通过、失败等时刻实时通知
报告器 实现接口 org.testng.IReporter ,
并且当整个测试运行完毕之后才会通知。
IReporter 接受一个对象列表,这些对象描述整个测试运行的情况
JAVA结合testng断言verify(断言失败不中断继续执行)
原理:
1.自已构造一个断言类,把Assert.assertEquals给try catch住。
2.利用testng的监听类在测试方法运行结束后进行分析
TestNg提供了三种方式来配置开发者自己的接口:
1.注解在TestNg中提供了一个类级别的注解,@Listeners({*.class, *.class})
��2.配置文件xml中在配置文件中我们可以通过这种方式是更灵活的,比第一种写死在代码中更为方便
三、 截图:断言失败截图和异常错误截图
1、断言失败截图调用
方法:ElementValueEqualsCheck
方法:HtmlContainCheckCommand
2、异常错误截图调用
3、实现截图功能的函数handle
由于断言失败截图与异常错误截图存放位置,和所传参数不同,故用重载函数去实现
BizBaseComman-》handled
例子:PositionAuthorization