本章将讲解 WebDriver 中的一些高级应用,掌握了这些知识点,读者在自动化测试的职业发展中可以往前更进一步。
滑块作为安全验证机制的一种,经常在登录或者注册时涉及。但是在自动化测试时,需要想办法用代码的方式来处理滑块。下面以携程网的注册页面为例来演示如何操作滑块。网站 URL 是「https://passport.ctrip.com/user/reg/home」,代码实现要遵循的流程如表 7.1 所示。
表 7.1
需要同意携程用户注册协议和隐私政策,如图 7.1 所示。
图 7.1
之后在用户注册页面显示滑块验证功能,如图 7.2 所示。
图 7.2
Selenium 中对滑块的操作基本是采用元素拖曳的方式,而这种方式需要用到 Selenium 的 Actionchains 功能模块。
先分别求出滑块按钮和滑块区域的长度和宽度。在以下代码运行后,控制台分别打印这两个元素的长度与宽度,代码如下:
代码执行后控制台输出的结果如图 7.3 所示,说明滑块按钮和滑块区域的高度都是 40px,而它们的宽度分别是 40px 和 300px。
图 7.3
下面来实现执行滑块的操作,如注册业务分析中提到的那样,执行滑块的拖曳操作需要使用到功能模块 ActionChains 的 drag_and_drop_by_offset 方法。完整的演示代码如下:
执行以上代码,结果如图 7.4 所示,滑块条变成绿色,证明滑块拖曳操作成功。
图 7.4
第 7 章 Selenium WebDriver 进阶应用 Selenium 3+Python 3 自动化测试
原文:https://www.cnblogs.com/MarlonKang/p/13680815.html