Selenium+java - 截图操作
发布时间:2020-12-14 14:38:17 所属栏目:百科 来源:网络整理
导读:写在前面 自动化测试过程中,运行失败截图可以很好的帮我们定位问题,因此,截图操作也是我们自动化测试中的一个重要环节。 截图方法 1、通过截图类TakeScreenshout实现截图 特点:截取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域 具体示例代
写在前面自动化测试过程中,运行失败截图可以很好的帮我们定位问题,因此,截图操作也是我们自动化测试中的一个重要环节。 截图方法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(); } } 效果如下以上就是关于截图的常用方法,仅供参考,如果觉得好,可以关注我哦! ? (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |