美文网首页我爱编程
selenium 监听失败重跑+截图

selenium 监听失败重跑+截图

作者: 萌懒虫 | 来源:发表于2017-11-21 18:30 被阅读0次

目前写的代码还是比较粗糙,有部分参考别人写法,自己总结一下,如果有哪些写的不好欢迎指教
设置监听失败重跑+截图,运行test.xml后,会生成一份测试报告,报告是html形式,这些监听的会在
报告中体现,到时候直接查看报告就能很清楚了,最后附上报告截图
配置test.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Default Suite" thread-count="3">
  <listeners>
    <listener class-name="com.xx.yy.service.Listener"/><!--配置监听器-->
  </listeners>
  <test name="novatest">
    <classes>
      <class name="com.xx.yy.SourceTest"/><!--我把整个测试类放进来-->
    </classes>

  </test> 
  <suite-files>
    <suite-file path="test-output/testng-failed.xml"/><!--配置失败重跑文件-->
  </suite-files>
</suite> 

监听器实现如下:

/*
*监听出错时,打印log并截图
*/
import org.apache.log4j.Logger;
import org.testng.ITestResult;
import org.testng.Reporter;
import org.testng.TestListenerAdapter;
import static com.xx.yy.service.CommonMethod.driver;

/**
 * Created by Administrator on 2017/11/15.
 */
public class Listener extends TestListenerAdapter{
    private static Logger logger= Logger.getLogger(ScreenWallService.class);
    @Override
    public void onTestFailure(ITestResult tr){

       String pictureName = CreateElementScreenshot.errorScreenshot(driver,"D:\\logs\\",".jpg");//调用截图方法
        String name=tr.getMethod().getMethodName();//获取出现问题的测试类名
        Reporter.log("出错方法名称:"+name+"  错误位置截图存放位置:<a href=\"d:\\logs\\"+pictureName+
"\" target=\"_blank\">D:\\logs\\</a>");//输出测试报告里面的log并且附上截图超链接
        
    }   
}

截图封装方法如下:

 public static String  errorScreenshot(WebDriver driver,String path,String pictureFormat){
        String systemTime = CreateElementScreenshot.getCurrentSystemTime();//获取当前系统时间
        String pictureName = systemTime + pictureFormat ;//图片命名由获取时间+后缀名拼接起来
        File  jpg = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);//截图
        try {
            FileUtils.copyFile(jpg, new File(path + pictureName));//图片存的路径
        } catch (IOException e) {
            e.printStackTrace();
        }
        return pictureName;//返回图片名称
    }

测试报告截图:


image.png

相关文章

网友评论

    本文标题:selenium 监听失败重跑+截图

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