赵佳乐SMILE 发表于 2015-3-3 16:10:49

【佳乐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:31

感谢分享

ermine 发表于 2015-3-4 09:43:15

本帖最后由 ermine 于 2015-3-4 09:46 编辑

失败后自动截图,可以参考
https://github.com/NetEase/arrow ... m/netease/qa/testng
在TestResultListener.java中的“onTestFailure”方法里面,添加你的截图。
PS:
忘记说了,这个是基于TestNG的,不是JUnit
页: [1]
查看完整版本: 【佳乐Selenium】DAY-11 截图