51Testing软件测试论坛

标题: 【佳乐Selenium】DAY-11 截图 [打印本页]

作者: 赵佳乐SMILE    时间: 2015-3-3 16:10
标题: 【佳乐Selenium】DAY-11 截图
网上搜截图的方法很多

1.自定义一个 WeDdriver 的监听器,在出异常的时候截图。
2.利用 Juint 的 TestRule, 自定义一个 Rule 在运行失败的时候截图。

这些对现阶段的我来说太难了

我用的是最简单的一个

一、在原来的Page的基础类上 新增截图的方法

   public static void snapshot(String filename)
    {  
        //设置截图存储目录
        String currentPath = "D:/javaworkspace/Selenium2/snapshot";
        
        //取得设置当前时间的格式
        String day = new SimpleDateFormat("yyyyMMdd").format(new Date());//设置日期格式
        
        String time = new SimpleDateFormat("yyyyMMdd-HHmmss").format(new Date());//设置日期格式
        
        File scrFile = ((TakesScreenshot) DriverManager.driver).getScreenshotAs(OutputType.FILE);

          try {
           
              FileUtils.copyFile(scrFile, new File(currentPath+"\\"+day+"\\"+time+filename));
              
          } catch (IOException e) {

              e.printStackTrace();
          }
         
    }

二、在按钮前后增加截图

    snapshot("before_login_click.png");
   
    //登录按钮
    denglu.click();
   
    snapshot("after_login_click.png");

就会在指定 目录下 新生成一个日期文件 下面是带时间戳和传入的文件名 截图
作者: Miss_love    时间: 2015-3-4 08:01
感谢分享
作者: ermine    时间: 2015-3-4 09:43
本帖最后由 ermine 于 2015-3-4 09:46 编辑

失败后自动截图,可以参考
https://github.com/NetEase/arrow ... m/netease/qa/testng
在TestResultListener.java中的“onTestFailure”方法里面,添加你的截图。
PS:
忘记说了,这个是基于TestNG的,不是JUnit





欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2