• TestNG实现用例运行失败自动截图(转载)


    转载自:https://blog.csdn.net/galen2016/article/details/70193684

    重写Listener的onTestFailure方法

    package com.kdzwy.practice;
    
    import java.io.File;
    import java.io.IOException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import org.apache.commons.io.FileUtils;
    import org.openqa.selenium.OutputType;
    import org.openqa.selenium.TakesScreenshot;
    import org.openqa.selenium.WebDriver;
    import org.testng.ITestResult;
    import org.testng.TestListenerAdapter;
    
    public class TestngListener extends TestListenerAdapter  {
    
        public static WebDriver driver;
    
        @Override
        public void onTestFailure(ITestResult tr) {
            super.onTestFailure(tr);
            try {
                takeScreenShot(tr);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void takeScreenShot(ITestResult tr) throws IOException{
            SimpleDateFormat smf = new SimpleDateFormat("MMddHHmmss") ;
            String curTime = smf.format(new java.util.Date());
            String fileName = tr.getName()+"_"+curTime+".png";
            File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
            //把截图拷贝到自定义的目录
            FileUtils.copyFile(srcFile, new File("Report\FailureScreenShot\"+fileName));
        }
    
    }
    

    使用TestngListener.class

    第一种方式:添加Listener注解

    这里写图片描述

    第二种方式:在testng.xml里添加listeners标签

    代码如下:

    这里写图片描述

    testng.xml如下:

    <?xml version="1.0" encoding="UTF-8"?><!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
    <suite name="Suite1">
        <test name="login">
            <classes>
                <class name="com.kdzwy.practice.BaiduDemo" />         
            </classes>
        </test>
    
        <listeners>
            <listener class-name="com.kdzwy.practice.TestngListener" />
        </listeners>
    </suite>

    运行

    注意看我把代码里点击“百度一下”按钮的id写成了“su1”,所以该用例会运行失败,运行结果如下:

    这里写图片描述

    失败截图如下:

    这里写图片描述

  • 相关阅读:
    GitHub里的Hello World!
    4 款消息队列软件产品大比拼(转)
    .net常用组件
    Dapper.NET使用(转)
    设置MYSQL允许用IP访问
    test1
    SQLServer 2008以上误操作数据库恢复方法——日志尾部备份(转)
    Quartz.NET配置
    Quartz CronTrigger配置
    Quartz CronTrigger最完整配置说明
  • 原文地址:https://www.cnblogs.com/hc1020/p/9039570.html
Copyright © 2020-2023  润新知