美文网首页
web_auto用例执行失败截图

web_auto用例执行失败截图

作者: testerPM | 来源:发表于2020-02-14 21:45 被阅读0次

-------------------------用例执行未通过,进行截图--------------------------
(1)step1 :创建一个类AllureReportListener ----监听用例执行的运行状态

package com.lemon.listener;

import org.testng.IHookCallBack;
import org.testng.IHookable;
import org.testng.ITestResult;

import com.lemon.common.BaseCases;

/**
 * implements实现 IHookable接口
 *  重写IHookable接口提供的run方法public void run(IHookCallBack callBack, ITestResult testResult);
 *  监听用例执行的的运行状态
 * @author TF
 *
 */
public class AllureReportListener  implements IHookable {
    @Override
    public  void run (IHookCallBack callBack ,ITestResult  testResult){
        //callBack调用runTestMethod方法,将测试结果放到了testResult里面
         callBack.runTestMethod(testResult);
         //testResult调用getThrowable()方法获取用例的异常执行结果
         //异常结果为空,说明没有异常 ,不为空,说明有异常
         if(testResult.getThrowable()!=null){
             //有异常,就截图
             //BaseCases.getScreenshot("G:\\截图\\loginFailure.png");//此方法只能生成一张截图,得到的是最后一次的截图(会覆盖之前的截图)
             //System.getProperty("user.dir")---获取项目的根路径,user.dir是key,获取用户工作目录
             //System.currentTimeMillis()--获取系统时间戳
            BaseCases.getScreenshot(System.getProperty("user.dir")+"\\target\\screenShot\\"+System.currentTimeMillis()+".png");//在此路径下可以获得多张截图
             
             
         }
    }

}


(2) 配置监听器(只有配置监听器AllureReportListener
类才会生效)

下面代码放在testng.xml文件中,和<test></test>同级


    <listeners>
        <listener class-name="com.lemon.AllureReportListener"></listener>

    </listeners>



(3)造一条异常数据---这里以Login_success()为例(将密码输入错误)--验证是否截图

(4)执行代码:testng.xml右键->run as ->testNG suite
(注意:不能运行Logincases类来获取截图,这样会监听不到)
下图因为跑了三次,所以有三张截图

image.png

相关文章

网友评论

      本文标题:web_auto用例执行失败截图

      本文链接:https://www.haomeiwen.com/subject/qbcsfhtx.html