Python Selenium自动化测试截图与保存完整指南

沈知远
沈知远
发布时间:2026-10-13| 3人浏览过
原创

本文详解Python Selenium自动化测试中的截图功能,重点介绍save_screenshot方法的使用。通过完整代码示例展示如何按日期和时间自动命名保存截图,解决长页面截图难题,并演示结合断言判断测试结果的实用技巧,帮助测试人员高效定位错误并记录测试步骤。

本文主要讲解如何利用Selenium库进行网页截图,并在测试过程中保存截取的图片。在自动化测试环节,截图是一项关键操作,尤其在测试出错时,截图能提供直观的错误现场证据。在Python版本的Selenium中,虽然存在多种截图方式,但本文重点介绍其中最常用的一种实现方法。

掌握截图技能对于测试人员而言至关重要。

在自动化测试流程中,截图功能有助于直观地定位程序错误,并完整记录测试执行的每一个步骤。

回忆此前参与某跨国银行的自动化测试项目时,该银行的项目经理明确要求:自动化测试的每一步操作至少需要生成一张截图。这一要求旨在证明每个功能点均已被自动化测试覆盖,此时,截图便成为了验证自动化测试有效性的核心依据。

优秀的测试人员往往能生成高质量的截图,这如同资深爱好者擅长创作诗歌一样,是一种需要磨练的专业技能。

Selenium WebDriver提供的截图功能非常强大。过去,截图最大的痛点在于页面过长时只能截取当前可视屏幕,滚动条下方的内容通常无法捕获。如今,WebDriver已解决这一难题,无论页面长度如何,它都能近乎完美地截取整个页面的完整图像。

以下代码演示了如何使用WebDriver执行截图操作:

# -*- coding: utf-8 -*-
from selenium import webdriver
import unittest
import os,sys,time
import HTMLTestReport
#登录
driver =webdriver.Firefox()
current_time = time.strftime("%Y-%m-%d-%H_%M_%S", time.localtime(time.time()))
current_time1 = time.strftime("%Y-%m-%d", time.localtime(time.time()))
print(current_time )
print(current_time1 )
# 必须打印图片路径HTMLTestRunner才能捕获并且生成路径,\image\**\\**.png 是获取路径的条件,必须这样的目录
#设置存储图片路径,测试结果图片可以按照每天进行区分
#通过if进行断言判断
driver.get("https://baidu.com/")
#新创建路径“.”表示当前整个.py文件的路径所在的位置,“\\”路径分割符,其中的一个是“\”表示转义字符
pic_path = '.\\result\\image\\' + current_time1+'\\' + current_time +'.png'
print(pic_path)
time.sleep(5)
print(driver.title)
#截取当前url页面的图片,并将截取的图片保存在指定的路径下面(pic_path),注:以下两种方法都可以
driver.save_screenshot(pic_path)
driver.save_screenshot('.\\result\\image\\' + current_time1+'\\' + current_time +'.png') 
if u'百度一下,你就知道' == driver.title:
  print ('Assertion test pass.') 
else:
  print ('Assertion test fail.')
 #通过try抛出异常进行断言判断  
driver.get("https://baidu.com/")
driver.save_screenshot(pic_path)
try:
  assert u'百度一下,你就知道' == driver.title
  print ('Assertion test pass.') 
except Exception as e:
  print ('Assertion test fail.', format(e))
time.sleep(5)
driver.quit()

save_screenshot方法实现了核心的截图功能,用户只需传入希望保存截图的文件路径及文件名即可,操作十分便捷。

总结

上述内容介绍了基于Python和Selenium实现截图及保存截取图片的具体方法,希望能对读者有所帮助。如有任何疑问,欢迎留言,小编会及时回复。同时,衷心感谢大家对本站的支持!

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。