《手把手教你》系列技巧篇(五十九)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教程)
2022/1/19 17:22:08
本文主要是介绍《手把手教你》系列技巧篇(五十九)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教程),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
1.简介
今天本来是要介绍远程测试的相关内容的,但是宏哥在操作服务器的时候干了件糊涂的事,事情经过是这样的:本来申请好的Windows服务器用来做演示的,可是服务器可能是局域网的,连百度都不能访问,宏哥想调试一下网络,禁用网卡,然后重启网卡,结果禁用后就连不上了。。。。就只能等服务器分配的管理员在物理机操作了,他给我分配的估计是虚拟机的服务器。唉,不能演示了,那么宏哥就来介绍java+ selenium自动化测试截图操作的实现,大致分为三篇,每篇介绍一种截图方法,你喜欢那种就用那种。那么宏哥今天就介绍第一剑客-TakeScreenshout。
2.TakeScreenshout
TakeScreenshout是selenium工具自带的截图方法(截图类),这个类主要是获取浏览器窗体内的内容,不包括浏览器的菜单和桌面的任务栏区域,我们用百度首页来截图,看看截图效果。
3.测试场景
具体步骤就是:
(1)访问度娘首页
(2)调用截图类截图
(3)保存截图
4.自动化实战
4.1代码设计
FileUtils.copyFile(srcFile, new File("Screenshots", time + ".png"));“屏幕截图”是我们自己创建的文件夹用来存放截图文件,此文件夹在project(工程)的更目录,如下图所示:
当然也是可以设置保存到其他目录下:FileUtils.copyFile(srcFile, new File("D:\\资料图片", time + ".png"));
示例代码如下图所示:
4.2参考代码
package lessons; import java.io.File; import java.io.IOException; import java.util.concurrent.TimeUnit; import java.text.SimpleDateFormat; import java.util.Calendar; import org.apache.commons.io.FileUtils; import org.openqa.selenium.OutputType; import org.openqa.selenium.TakesScreenshot; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; /** * @author 北京-宏哥 * * @公众号:北京宏哥 * * @《手把手教你》系列技巧篇(六十)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教程) * * @2022年01月07日 */ public class TakeScreenshot { public static void main(String[] args) throws Exception { System.setProperty("webdriver.chrome.driver", ".\\Tools\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); driver.get("https://www.baidu.com"); Thread.sleep(1000); // 调用截图方法 File src= ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE); /** * 截屏操作 * 图片已当前时间命名 */ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss"); //转换时间格式 String time = dateFormat.format(Calendar.getInstance().getTime()); //获取当前时间 try { // 拷贝截图文件到我们项目./Screenshots FileUtils.copyFile(src, new File("Screenshots", time + ".png")); Thread.sleep(3000); System.out.println("browser will be close"); driver.quit(); }catch (IOException e){ System.out.println(e.getMessage()); } } }
4.3运行代码
1.运行代码,右键Run AS->Java Appliance,控制台输出,如下图所示:
2.文件保存结果及预览,如下图所示:
3.运行代码后电脑端的浏览器的动作,如下小视频所示:
<iframe frameborder="0" height="100%" src="https://streamja.com/embed/MyWzB" style="width: 100%; height: 100%; position: absolute" width="100%"></iframe>5.小结
这个自带的方法无论你建没有建那个文件夹,如果有会将截图放在文件夹下,如果没有,会自动创建你代码中的文件夹,然后将截图放入。
这篇关于《手把手教你》系列技巧篇(五十九)-java+ selenium自动化测试 - 截图三剑客 -上篇(详细教程)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24Java中定时任务实现方式及源码剖析
- 2024-11-24鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
- 2024-11-24细说敏捷:敏捷四会之每日站会
- 2024-11-23Springboot应用的多环境打包入门
- 2024-11-23Springboot应用的生产发布入门教程
- 2024-11-23Python编程入门指南
- 2024-11-23Java创业入门:从零开始的编程之旅
- 2024-11-23Java创业入门:新手必读的Java编程与创业指南
- 2024-11-23Java对接阿里云智能语音服务入门详解