在做界面自动化时,很需要截图功能,譬如在异常发生时或者验证点失败时,这样可以快速的定位失败原因,但是如果使用界面截图的方式虽然会把这个屏幕截下来,但是缺点在于机器不能睡眠,如果睡下去则会发现截图是黑的;
其实我们可以使用selenium的截图功能,这种方式只会截取网站的部分(如顶部的浏览器输入框之类则不会截取),其优点在于在截图时操作电脑不会影响截图,未登录状态也受影响;
方法如下(driver为实例化webdriver):
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
而后再用commons-io包中的copyFile方法将其保存下来即可(savePath为文件保存路径);
FileUtils.copyFile

本文介绍了在自动化测试中利用Selenium3和Java进行全屏及元素截图的方法。全屏截图能确保在程序运行过程中不受电脑睡眠影响,而元素截图则是通过获取元素坐标进行剪切,适用于未登录状态或需要精确捕获特定界面部分的场景。
最低0.47元/天 解锁文章
2739

被折叠的 条评论
为什么被折叠?



