Selenium 屏幕截图

在自动化测试程序运行时,有些地方出现了 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()  # 关闭浏览器

你可能感兴趣的:(selenium,python,自动化测试,测试)