Selenium 4.0有新技能啦,你GET了吗

123456@36氪作者·2021年04月26日 19:56
出品|51Testing软件测试网题记身处IT饭圈文化的你,对于Selenium这位老朋友自然非常熟悉,如今

编者按:本文来自微信公众号“51Testing软件测试网”(ID:testing51testing),作者:罗狮小钉,36氪经授权发布。

出品|51Testing软件测试网

题记 

身处IT饭圈文化的你,对于Selenium这位老朋友自然非常熟悉,如今Selenium 4.0带着它的新技能再一次叩响了web自动化的大门。

自2019年4月Selenium 4发布第一个Alpha版本以来,一直受到业内广泛关注。虽说官方对于Selenium 4.0的最终发布版本迟迟悬而未决,但这并不妨碍开发人员和自动化框架爱好者们对其新增特性进行探究,大家仍可以通过下载最新的Alpha Selenium 4版本(Selenium-4.0.0a7)来体验一番。 

Python Selenium 4涉及以下新增功能:

(1)Web元素相对定位器

‘Relative Locators’ for locating web elements.

(2)支持Chrome Loadstools协议(模拟地理位置,模拟网络环境)

Support for Chrome Loadstools Protocol.

(3)支持浏览器操作–在Windows及选项卡之间切换

Browser Manipulation – Switching between Windows or Tabs.

下面我们以Selenium for Python的Alpha Release-7(被吹捧为最新的Alpha版本)为例,逐一了解Python Selenium 4的新功能以及其在测试中的使用场景。

Web元素相对定位器 

Python Selenium 4中新增了元素相对定位功能,该功能与“with_tag_name”元素属性相绑定,实现了相对定位方法(relative locators),该方法也被称为“友好定位符”。

Python中的相对定位指的是定位那些位于指定web元素附近的元素或元素集。“附近”所指参见如下描述:

应用场景DEMO_1,上下相对 

(1)打开百度产品大全链接

http://www.baidu.com/more/

(2)分别定位第一个板块标签元素“新上线新!”

以及最后一个板块标签元素“软件工具”。

(3)通过above,below进行中间元素的相对定位

如图所示,通过相对定位方法,我们希望能够成功定位到以下6个元素。

(4)打印输出所有符合条件的相对元素

完整代码实现如下:

核心代码为:

  •  

web_driver.find_elements(with_tag_name("h3").above(elem_2).below(elem_1)) 

(左右滑动查看完整代码)

运行结果:

可以看到通过find_elements(with_tag_name("XXX").above(元素A).below(元素B)) 成功定位到了相对元素A和元素B间的一系列tag_name匹配上的所有元素。

......

本文为51Testing软件测试网

第六十一期电子杂志内容

剩余精彩内容请点击下方 阅读原文查看

推荐阅读

点击阅读☞测试人,面试逃不过的灵魂三问

点击阅读☞测试中这些奇怪的问题你见过吗?

点击阅读☞新人如何做好功能测试,看这几点就够了

点击阅读☞211本科大佬的真实面试经历:测试人要不要去外包公司?

点击阅读☞2020年应聘华为测试岗三轮面试经历分享

戳 “阅读原文”一起来充电吧! 

+1
0

好文章,需要你的鼓励

参与评论
评论千万条,友善第一条
后参与讨论
提交评论0/1000

36氪AI测评

选靠谱AI,看真实评测
查看
36氪AI测评官方交流社区
加入

36氪寻求报道

咨询报道审核和入驻
联系
36氪寻求报道订阅号
关注

下一篇

测试摘要

2021-04-26

36氪APP让一部分人先看到未来
36氪
鲸准
氪空间

推送和解读前沿、有料的科技创投资讯

一级市场金融信息和系统服务提供商

聚焦全球优秀创业者,项目融资率接近97%,领跑行业