Selenium+java - 截图操作

写在前面

自动化测试过程中,运行失败截图可以很好的帮我们定位问题,因此,截图操作也是我们自动化测试中的一个重要环节。

截图方法

1、通过截图类TakeScreenshout实现截图

特点:截取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域

具体示例代码如下:

public void testScreenshoutByTakesScreenshot() {
        driver.manage().window().maximize();
        driver.get("https://www.cnblogs.com/longronglang");
        driver.manage().window().maximize();
        //执行屏幕截图操作
        File srcFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
        通过FileUtils中的copyFile()方法保存getScreenshotAs()返回的文件;"屏幕截图"即时保存截图的文件夹
        try {
            FileUtils.copyFile(srcFile,new File("D:\\screenshot\\通过TakesScreenshot截图.jpg"));
        } catch (IOException e) {
            e.printStackTrace();
        }

    }

2、通过Robot对象截屏

特点:截取浏览器窗体内的内容及浏览器的菜单和桌面的任务栏区域

具体示例代码如下:

/**
     * 通过Robot实现实现截图
     */
    @Test
     testScreenshoutByRobot() {
        driver.manage().window().maximize();
        driver.get("https://www.cnblogs.com/longronglang"调用截图方法
        BufferedImage img = null;
         {
            img = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
            ImageIO.write(img,"jpg",new File("D:\\screenshot\\通过Robot截图.jpg" (AWTException e) {
            e.printStackTrace();
        } (IOException e) {
            e.printStackTrace();
        }
    }

3、截取目标区域图片

特点:可指定元素及区域大小截图

具体示例代码如下:

  
     * 通过指定元素及区域大小截图
      testScreenshoutByElement() {
        driver.get("https://www.cnblogs.com/longronglang");
        获取页面看板娘元素
        WebElement element = driver.findElement(By.cssSelector("[width='180px']"));
         {
            FileUtils.copyFile(captureElement(element),1)">new File("D:\\screenshot\\通过element元素及区域大小截图.jpg" (Exception e) {
            e.printStackTrace();
        }
    }

效果如下

以上就是关于截图的常用方法,仅供参考,如果觉得好,可以关注我哦!

 

相关文章

转载地址:https://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...