自动化测试:页面进阶操作(8)
前言
在自动化测试的过程中,我们常常需要进行一些页面进阶操作,如截图、读取弹窗等。
本文将介绍一些页面进阶操作,使你能够更灵活地应对测试中的各种场景。
知识点
页面截图
处理 JavaScript 弹窗
alert 弹窗
confirm 弹窗
prompt 弹窗
实例:使用 Selenium 进行页面进阶操作
页面截图
在自动化测试中,页面的转换速度非常快。在前面的案例中,我们经常使用 input() 方法来暂停程序,以便观察页面的变化。
然而,input 方法会阻塞程序的执行,因此我们需要一种更有效的方式来观察页面的变化,这就是通过页面截图来实现。
截图方法
在 Selenium 中,可以使用 save_screenshot()
方法进行页面截图。
1 | # 页面截图,传入保存路径 |
处理 JavaScript 弹窗
在网页交互中,JavaScript 提供了几种常见的弹窗类型,通常称为 JavaScript Dialog。这些弹窗包括 alert
、confirm
和 prompt
。
Alert 弹窗
Alert 弹窗是一种简单的弹窗,只包含一条消息和一个确认按钮。它用于向用户显示一些信息,而用户只能通过点击确认按钮来关闭弹窗。
Confirm 弹窗
Confirm 弹窗包含一条消息、确认按钮和取消按钮,用于要求用户进行二选一的选择。
Prompt 弹窗
Prompt 弹窗除了包含一条消息和确认按钮外,还包含一个文本输入框,用于接收用户的输入。
弹窗处理方法
获取弹窗对象
1 | # 获取弹窗对象 |
获取弹窗文本
1 | # 获取弹窗文本 |
确认弹窗
1 | # 确认弹窗 |
取消弹窗
1 | # 取消弹窗 |
向弹窗输入文本
1 | # 向弹窗输入文本 |
弹窗处理方法适用范围
名称 | 获取文本 .text |
确认 .accept() |
取消 .dismiss() |
输入文本 .send_keys() |
---|---|---|---|---|
Alert | ✅ | ✅ | ||
Confirm | ✅ | ✅ | ✅ | |
Prompt | ✅ | ✅ | ✅ | ✅ |
通过上表,你可以根据弹窗的类型选择适当的处理方法。
实例:使用 Selenium 进行页面进阶操作
在本例中,我们将使用 Selenium 进行页面进阶操作。
本实例将完成以下操作:
页面截图
获取并打印弹窗文本
确认弹窗
取消弹窗
向弹窗输入文本
获取并打印结果
打开配套网页
打开 实例:使用 Selenium 进行页面进阶操作 网页。
如上图所示,网页中有三个按钮,点击对应的按钮将弹出不同类型的弹窗。
编写脚本
1. 前置操作
1 | from selenium import webdriver # 导入 webdriver |
2. 页面截图
1 | # 页面截图 |
3. 点击 alert 按钮
1 | # 点击 alert 按钮 |
4. 获取并打印弹窗文本
1 | # 获取弹窗对象 |
5. 确认弹窗
1 | # 确认弹窗 |
6. 点击 confirm 按钮
1 | # 点击 confirm 按钮 |
7. 获取并打印弹窗文本
1 | # 获取弹窗对象 |
8. 取消弹窗
1 | # 取消弹窗 |
9. 点击 prompt 按钮
1 | # 点击 prompt 按钮 |
10. 向弹窗输入文本
1 | # 获取弹窗对象 |
11. 获取并打印结果
1 | # 获取结果 |
12. 关闭浏览器
1 | # 关闭浏览器 |
完整代码
1 | from selenium import webdriver # 导入 webdriver |
运行脚本
At Last
头图/封面素材来源: Photo by Laura Kennedy on Unsplash
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Hello! I'm 0o酱!
评论