pyqone 发表于 2017-10-9 11:23:34

selenium进行自动化测试时用的快速截图工具类

本帖最后由 pyqone 于 2017-10-9 15:25 编辑

在使用selenium编写自动化测试脚本时感觉每次写截图都好麻烦,于是把截图的方法单独弄出来做成了一个类,但由于我在大学期间不是计算机专业的,又苦于刚接触且是自学selenium,所以编程水平实在有限,想通过论坛发布一下我写的代码,望各位大神点评一下,看看哪里需要修改,哪里的注释或者编程风格需要改进,或者是可以增加什么方法,鄙人不甚感激!由于版面限制,源码在附件中


突然发现少上传了一个格式化文件路径的处理链···,现在补上{:4_95:}

Real_小T 发表于 2017-10-9 12:06:55

支持!

pyqone 发表于 2017-10-9 12:26:14

Real_小T 发表于 2017-10-9 12:06
支持!

谢谢:loveliness:

梦想家 发表于 2017-10-9 14:43:05

支持分享

pyqone 发表于 2017-10-9 15:26:27

梦想家 发表于 2017-10-9 14:43
支持分享

谢谢,希望能提出一些改进意见:P

Miss_love 发表于 2017-10-9 16:02:23

支持

pyqone 发表于 2017-10-9 16:36:47

Miss_love 发表于 2017-10-9 16:02
支持

感谢支持,希望能给出宝贵的改进意见:P

海海豚 发表于 2017-10-10 10:34:19

谢谢分享~

本才 发表于 2017-11-2 15:02:52

封装的还有模有样的,不错!

pyqone 发表于 2017-11-7 11:27:13

本才 发表于 2017-11-2 15:02
封装的还有模有样的,不错!

我也不是弄开发的,所以封装这些还是很乱的,都不怎么符合开发的命名规范{:4_94:}

1348579687 发表于 2017-11-14 16:52:11

厉害厉害。反过来一看我的代码,感觉很简陋,谢谢楼主分享
public class JieTu {
       
    public static void captureScreen(String fileName, String folder) throws Exception {

      Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
      Rectangle screenRectangle = new Rectangle(screenSize);
      Robot robot = new Robot();
      BufferedImage image = robot.createScreenCapture(screenRectangle);
      // 截图保存的路径
      File screenFile = new File(fileName);   
      // 如果路径不存在,则创建
      if (!screenFile.getParentFile().exists()) {
            screenFile.getParentFile().mkdirs();
      }
      //判断文件是否存在,不存在就创建文件
      if(!screenFile.exists()&& !screenFile .isDirectory()) {
            screenFile.mkdir();
      }
      
      File f = new File(screenFile, folder);      
      ImageIO.write(image, "png", f);
      //自动打开
      /*if (Desktop.isDesktopSupported()
               && Desktop.getDesktop().isSupported(Desktop.Action.OPEN))
                  Desktop.getDesktop().open(f);*/
    }

    public static void majietu() {
      Date dt=new Date();
      SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
      SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMddHHmmss");
      String data=sdf.format(dt);
      String rd=sdf1.format(dt);
      try {
            captureScreen("F:\\image\\"+data,rd+".png");
      } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
      }
    }

}
页: [1]
查看完整版本: selenium进行自动化测试时用的快速截图工具类