开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第5天,点击查看活动详情
您好,我是游手好闲的小羊!
思考:如果自动化测试脚本运行时出现了异常,该如何定位问题?下面文章将会给出答案。
一、窗口截图
说明:把当前操作的页面,截图保存到指定位置
为什么要窗口截图?
说明:自动化脚本是由程序去执行的,因此有时候打印的错误信息并不是十分明确。如果在执行出错的时候 对当前窗口截图保存,那么通过图片就可以非常直观地看到出错的原因。
窗口截图的方法
说明:在Selenium中,提供了截图方法,我们只需要调用即可
方法:
driver.get_screenshot_as_file(imgpath)
imgpath:图片保存路径
案例练习
需求:打开‘百度’页面,完成以下操作 1). 在搜索框填写“稀土掘金”搜索信息 2). 截图保存
案例代码:
from selenium.webdriver.common.by import By
driver=webdriver.Chrome()
driver.get("https://www.baidu.com/")
driver.find_element(By.ID,"kw").send_keys("稀土掘金")
driver.get_screenshot_as_file("img.png")
driver.quit()
拓展:
1、截图的文件名必须是以PNG结尾
2、filename中的文件目录必须手动创建
二、验证码
说明:一种随机生成的信息(数字、字母、汉字、图片、算术题)等为了防止恶意的请求行为,增加应用的 安全性。
为什么要学习验证码?
说明:在Web应用中,大部分系统在用户登录注册的时候都要求输入验证码,而我们在设计自动化测试脚本的时候, 就需要面临处理验证码的问题。
验证码的处理方式
说明:Selenium中并没有对验证码处理的方法,在这里我们介绍一下针对验证码的几种常用处理方式
方式:
1). 去掉验证码
(测试环境下-采用)
2). 设置万能验证码
(生产环境和测试环境下-采用)
3). 验证码识别技术
(通过Python-tesseract来识别图片类型验证码;识别率很难达到100%)
4). 记录cookie
(通过记录cookie进行跳过登录)
提示:
- 去掉验证码、设置万能验证码:都是开发来完成,我们在这里不做讲解
- 验证码识别技术:成功率不高,验证码种类繁多,不太适合
- 记录cookie:比较实用,也是我们会讲解的个内容
每天分享一点点,我是带你学习的小羊!