Selenium 4.0 Alpha更新实践
上期讲到了Selenium 4.0 Alpha更新日志,这次来实践一下更新内容。
- DevTools操作更加方便。
- Chrome录制更加方便。(未实践)
- 窗口管理不在依赖一个driver。
- 相对定位器功能丰富。
- 补充全屏快照的功能。
ChromiumDriver和DevTools:
在Selenium 3中,EdgeDriver和ChromeDriver具有从RemoteWebDriver类继承的自己的实现。在Selenium 4中,Chromedriver和EdgeDriver继承自ChromiumDriver。ChromiumDriver类具有预定义的方法来访问开发工具。考虑下面的代码片段
//创建驱动drive
WebDriver driver = new ChromeDriver();
Connection connection = null;
DevTools devtools = new DevTools(connection);
devtools.createSession();
String message = "chrome 浏览器测试Demo!";
driver.get("https:www.bing.cn");
//JS打印信息
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("console.log('" + message + " ' ) ;");
上面的代码创建到给定URL的会话,并执行javascript打印消息。DevTools是一个类,具有用于获取开发人员选项的方法的类。
DevTools还可以用于性能评估并获取页面加载时间。
更好的窗口和标签管理
Selenium 4现在具有可以同时在两个不同的窗口上工作的功能。当我们要导航到新窗口(或选项卡)并在那里打开另一个URL并执行某些操作时,此功能特别有用。
WebDriver window2 = driver.switchTo().newWindow(WindowType.TAB);
window2.get("url");
WebDriver window1 = driver.switchTo().newWindow(WindowType.WINDOW);
window1.get("url");
newWindow()方法根据其参数中指定的WindowType打开一个新窗口或选项卡。
相对定位器
在Selenium 4 alpha版本中,我们还可以获得相对于任何其他定位器的定位器。
toLeftOf():位于指定元素左侧的元素。
toRightOf():位于指定元素右侧的元素。
above():相对于指定元素位于上方的元素。
below():相对于指定元素位于下方的元素。
near():元素距离指定元素最多50个像素。像素值可以修改。
全屏快照
现在,我们可以在Firefox中使用getFullPageScreenshotAs()方法获取完整的屏幕截图。但是,我们无需将其类型转换为TakesScreenshot界面,而是需要将其类型转换为FirefoxDriver实例。
File src = ((FirefoxDriver) driver).getFullPageScreenshotAs(OutputType.FILE);
可能会有一些更有趣的功能和改进,因此继续探索!
- 郑重声明:文章禁止第三方(腾讯云除外)转载、发表,事情原委测试窝,首页抄我七篇原创还拉黑,你们的良心不会痛吗?
技术类文章精选
- java一行代码打印心形
- Linux性能监控软件netdata中文汉化版
- 接口测试代码覆盖率(jacoco)方案分享
- 性能测试框架第二版
- 如何在Linux命令行界面愉快进行性能测试
- 图解HTTP脑图
- 将swagger文档自动变成测试代码
- 五行代码构建静态博客
- 基于java的直线型接口测试框架初探
非技术文章精选
- 为什么选择软件测试作为职业道路?
- 写给所有人的编程思维
- 成为优秀自动化测试工程师的7个步骤
- 成为自动化测试的7种技能
- 自动化测试生命周期
- 如何在DevOps引入自动化测试
- Web端自动化测试失败原因汇总
- 如何在DevOps引入自动化测试
- 测试人员如何成为变革的推动者
- 编写测试用例的技巧
Selenium 4.0 Alpha更新实践的更多相关文章
- Selenium 4.0 Alpha更新日志
早在2018年8月,整个测试自动化社区就发生了一件重大新闻:Selenium的创始成员Simon Stewart在班加罗尔Selenium会议上正式确认了Selenium 4的发布日期和一些重要更新. ...
- 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)
菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...
- selenium 3.0发布
记得3年前selenium core team就放出风声selenium3.0将在某个圣诞节发布,然而大家等了3年,就在所有人都不再关注selenium进度的时候,selenium3.0 beta1悄 ...
- 【译】Selenium 2.0 WebDriver
Selenium WebDriver 注意:我们正致力于完善帮助指南的每一个章节,虽然这个章节仍然存在需要完善的地方,不过我们坚信当前你看到的帮助信息是精确无误的,后续我们会提供更多的指导信息来完 ...
- Selenium 2.0与Selenum 3.0介绍
什么是Selenium Selenium是一组web自动化测试工具集,它由以下几个部分构成: Selenium IDE(Integrated Development Environment)这是Fir ...
- Retrofit 2.0 超能实践(四),完成大文件断点下载
作者:码小白 文/CSDN 博客 本文出自:http://blog.csdn.net/sk719887916/article/details/51988507 码小白 通过前几篇系统的介绍和综合运用, ...
- Retrofit 2.0 超能实践(一),okHttp完美支持Https传输
http: //blog.csdn.net/sk719887916/article/details/51597816 Tamic首发 前阵子看到圈子里Retrofit 2.0,RxJava(Andro ...
- Retrofit 2.0 超能实践,完美支持Https传输
http://blog.csdn.NET/sk719887916/article/details/51597816 前阵子看到圈子里Retrofit 2.0,RxJava(Android), OkHt ...
- 3.0.0 alpha 重磅发布!九大新功能、全新 UI 解锁调度系统新能力
2022 年 4 月 22 日,Apache DolphinScheduler 正式宣布 3.0.0 alpha 版本发布!此次版本升级迎来了自发版以来的最大变化,众多全新功能和特性为用户带来新的体验 ...
随机推荐
- nyoj 34-韩信点兵(暴力)
34-韩信点兵 内存限制:64MB 时间限制:3000ms Special Judge: No accepted:34 submit:41 题目描述: 相传韩信才智过人,从不直接清点自己军队的人数,只 ...
- Elasticsearch系列---常见搜索方式与聚合分析
概要 本篇主要介绍常见的6种搜索方式.聚合分析语法,基本是上机实战,可以和关系型数据库作对比,如果之前了解关系型数据库,那本篇只需要了解搜索和聚合的语法规则就可以了. 搜索响应报文 以上篇建立的mus ...
- hostnamectl命令 主机名 host相关命令
hostnamectl set-hostname CentOS7设置主机名为CentOS7 hostnamectl status查看主机系统信息 注:host+TAB查阅host相关的所有命令 hos ...
- 获取单列集合,双列集合,数组的Stream流对象以及简单操作
获取流对象 获取单列集合,双列集合,数组的流对象 单列集合获取流对象: 1.java.util.Collection接口中加入了default方法stream()获取流对象,因此其所有实现类均可通过此 ...
- vue 父子组件传值,兄弟组件传值
父子组件中的传值 父向子 v-bind props <!-- 组件使用v-bind传值 --> <router :msg="msg"></rou ...
- 安卓Android碎片fragment实现静态加载
静态加载好后的界面如下,两个碎片分别位于一个活动的左边和右边: 左边和右边分别为一个碎片,这两个碎片正好将一整个活动布满.一个活动当中可以拥有多个碎片,碎片的含义就是可以在同一个UI界面下,将这个界面 ...
- linuxLVM之LV扩大和缩小容量(非xfs文件系统)
LVM的基础请见:https://www.cnblogs.com/wxxjianchi/p/9698089.html 一.放大LV的容量.放大容量是由内而外来操作的. 1.设置新的lvm分区:用fdi ...
- Mybatis日志体系
承接上一篇关于spring 5.x的日志体系,本篇看看Mybatis的日志体系及实现,Mybatis版本基于3.x. 关于mybatis的官方文档比较友好,分门别类,各有论述,如mybatis官方文档 ...
- Stream系列(十二) PartitioningBy方法使用
分割列表 视频讲解: https://www.bilibili.com/video/av78106120/ EmployeeTestCase.java package com.example.demo ...
- 队列&生产者消费者模型
队列 ipc机制:进程通讯 管道:pipe 基于共享的内存空间 队列:pipe+锁 queue from multiprocessing import Process,Queue ### 案例一 q ...