在自动化测试程序运行时,有些地方出现了 bug,此时,我们希望可以将当前运行的屏幕的截图保存下来,方便开发者后续进行调试与修复。
Selenium 提供的屏幕截屏方法:
| 序号 | 方法/属性 | 描述 |
|---|---|---|
| 1 | save_screenshot(filename) | 截取当前屏幕截图,并保存为指定文件,filename 为指定的保存路径或图片文件名 |
| 2 | get_screenshot_as_base64() | 获取当前屏幕截图 base64 编码字符串 |
| 3 | get_screenshot_as_file(filename) | 获取当前截图,使用完整的路径 |
| 4 | get_screenshot_as_png() | 获取当前截图的二进制文件数据 |
实例操作
# 应用1:save_screenshot 直接保存在当前路径
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome() # 打开浏览器
driver.get("https://www.baidu.com/") # 跳转至测试页面
sleep(1)
element = driver.find_element_by_id("kw") # 定位输入框
element.send_keys("自动化测试") # 输入内容
sleep(1)
driver.save_screenshot("baidu.png") # 截屏
sleep(2)
driver.quit() # 关闭浏览器
# 应用1:save_screenshot 使用当前时间作为文件名
from selenium import webdriver
from time import sleep, strftime, localtime, time
driver = webdriver.Chrome() # 打开浏览器
driver.get("https://www.baidu.com/") # 跳转至测试页面
sleep(1)
element = driver.find_element_by_id("kw") # 定位输入框
element.send_keys("自动化测试") # 输入内容
sleep(1)
file_name = strftime("%Y%m%d-%H%M%S", localtime(time())) + ".png"
driver.save_screenshot(file_name) # 截屏
sleep(2)
driver.quit() # 关闭浏览器
如果对软件测试有兴趣,想了解更多的测试知识,解决测试问题,以及入门指导,帮你解决测试中遇到的困惑,我们这里有技术高手。如果你正在找工作或者刚刚学校出来,又或者已经工作但是经常觉得难点很多,觉得自己测试方面学的不够精想要继续学习的,想转行怕学不会的, 公众号(程序员阿沐)都可以加入我们810119819,群内可领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!



