写在前面
自动化测试过程当中,运行失败截图能够很好的帮咱们定位问题,所以,截图操做也是咱们自动化测试中的一个重要环节。css
截图方法
一、经过截图类TakeScreenshout实现截图html
特色:截取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域java
具体示例代码以下:浏览器
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(); } }
二、经过Robot对象截屏微信
特色:截取浏览器窗体内的内容及浏览器的菜单和桌面的任务栏区域ide
具体示例代码以下:测试
/** * 经过Robot实现实现截图 */ @Test public void testScreenshoutByRobot() { driver.manage().window().maximize(); driver.get("https://www.cnblogs.com/longronglang"); driver.manage().window().maximize(); //调用截图方法 BufferedImage img = null; try { img = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); ImageIO.write(img, "jpg", new File("D:\\screenshot\\经过Robot截图.jpg")); } catch (AWTException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); } }
三、截取目标区域图片code
特色:可指定元素及区域大小截图htm
具体示例代码以下:对象
/** * 经过指定元素及区域大小截图 */ @Test public void testScreenshoutByElement() { driver.get("https://www.cnblogs.com/longronglang"); //获取页面看板娘元素 WebElement element = driver.findElement(By.cssSelector("[width='180px']")); try { FileUtils.copyFile(captureElement(element), new File("D:\\screenshot\\经过element元素及区域大小截图.jpg")); } catch (Exception e) { e.printStackTrace(); } }
效果以下
以上就是关于截图的经常使用方法,仅供参考,若是以为好,能够关注我哦!
EOF
本文做者:久曲建的测试窝
本文连接:https://www.cnblogs.com/longronglang/p/11332194.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客全部文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:若是您以为文章对您有帮助,能够点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
优秀不够,你是否无可替代
软件测试交流QQ群:721256703,期待你的加入!!
欢迎关注个人微信公众号:软件测试君