本文转自测试人社区,原文链接:ceshiren.com/t/topic/308…
一、关键数据记录
1.1 简介
- 关键数据记录是Web自动化测试中的关键部分,它们提供了关于系统行为和执行过程的详细信息,有助于验证用例的正确性,排查问题和确保应用程序的质量。
1.2 作用
| 内容 | 作用 |
|---|---|
| 日志 | 1. 记录代码的执行记录,方便复现场景 |
| 2. 可以作为bug依据 | |
| 截图 | 1. 断言失败或成功截图 |
| 2.异常截图达到丰富报告的作用 | |
| 3. 可以作为bug依据 | |
| page source | 1. 协助排查报错时元素当时是否存在页面上 |
二、行为日志记录
2.1 简介
- 行为日志是一种用于记录系统或应用系统的操作和事件的技术。它的目的是跟踪和记录应用程序的执行过程,以便在需要时审计、排查故障。
2.2 主要内容
- 时间戳(Timestamp):每个日志记录的时间,记录每个操作或时间发生的确切时间点。
- 操作描述(Action Description):对每个操作或者事件的详细描述,例如执行的操作。
- 事件级别(Log Level):表示日志记录的重要性级别。如信息、警告、错误等。
- 相关信息(Additional Information):可以包括与操作或事件相关的其他数据,如参数、输入值等。
2.3 实现方式
- 需要先导入logging模块,运行之后,可以看到打印了对应的行为日志。
- Python语法:
def test_logging():
# 实例化driver
driver = webdriver.Chrome()
# 隐式等待
driver.implicitly_wait(10)
# 打开百度首页
driver.get("https://www.baidu.com")
# 记录日志
logging.info("打开百度首页")
# 输入霍格沃兹学院
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("霍格沃兹学院")
# 记录日志
logging.info("输入霍格沃兹学院")
# 点击搜索
driver.find_element(By.CSS_SELECTOR,"#su").click()
# 记录日志
logging.info("点击搜索")
time.sleep(3)
driver.quit()
三、步骤截图记录
3.1 简介
- 步骤截图用于捕捉Web自动化测试过程中的关键执行步骤,以便验证测试用例的正确性和可视化执行过程。
3.2 主要内容
- 屏幕截图:捕获Web自动化测试执行期间的屏幕图像,包括应用程序界面、当前页面内容和操作后的可视变化。
- 元素状态截图:捕获特定元素的状态,例如鼠标悬停、点击或其他交互触发的状态。这有助于验证页面元素的交互性和正确性。
- 控制台日志截图:捕获测试执行期间,浏览器控制台的日志信息。将控制台日志与屏幕截图结合使用,有助于更全面地分析测试执行过程中的问题。
3.3 实现方式
- driver.get_screenshot_as_file:用于将当前浏览器窗口的屏幕截图保存为文件,需提前创建保存截图文件的目录。
- Python语法:
def test_screenshot():
# 实例化driver
driver = webdriver.Chrome()
# 显示等待
driver.implicitly_wait(10)
# 打开百度首页
driver.get("https://www.baidu.com")
# 获取步骤截图
driver.get_sreenshot_as_file(f"./screenshot/打开百度首页.png")
# 输入霍格沃兹学院
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("霍格沃兹学院")
# 获取步骤截图
driver.get_screenshot_as_file(f"./screenshot/输入霍格沃兹学院.png")
# 点击搜索
driver.find_element(By.CSS_SELECTOR,"#su").click()
# 获取步骤截图
driver.get_screenshot_as_file(f"./screenshot/点击搜索.png")
time.sleep(3)
driver.quit()
四、页面源代码page source记录
4.1 简介
- page source是一个用于捕获当前网页的DOM(文档对象模型)结构的关键数据记录。用于排查元素查找问题、验证页面结构和属性。
4.2 主要内容
- HTML结构:整个页面的HTML标记,包括元素、属性和内容。
- CSS样式:与页面关联的CSS样式信息,有助于了解元素的布局。
- 元素属性:每个元素的属性,用于标识和定位元素。
- JavaScript代码:如果页面包含JavaScript,也可以包括JavaScript代码,以便分析页面的交互行为。
4.3 实现方式
- driver.page_source:用于获取当前网页的HTML源代码。
- Python实现:
def test_page_source():
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("https://www.baidu.com")
# 打印页面信息
print(driver.page_source)
driver.find_element(By.CSS_SELECTOR,"#kw").send_keys("测试开发")
driver.find_element(By.CSS_SELECTOR,"#su").click()
time.sleep(2)
driver.quit()
推荐学习
【霍格沃兹测试开发】7天软件测试快速入门带你从零基础/转行/小白/就业/测试用例设计实战
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (上集)
【霍格沃兹测试开发】最新版!Web 自动化测试从入门到精通/ 电子商务产品实战/Selenium (下集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(上集)
【霍格沃兹测试开发】明星讲师精心打造最新Python 教程软件测试开发从业者必学(下集)
【霍格沃兹测试开发】精品课合集/ 自动化测试/ 性能测试/ 精准测试/ 测试左移/ 测试右移/ 人工智能测试
【霍格沃兹测试开发】腾讯/ 百度/ 阿里/ 字节测试专家技术沙龙分享合集/ 精准化测试/ 流量回放/Diff
【霍格沃兹测试开发】Pytest 用例结构/ 编写规范 / 免费分享
【霍格沃兹测试开发】JMeter 实时性能监控平台/ 数据分析展示系统Grafana/Docker 安装
【霍格沃兹测试开发】接口自动化测试的场景有哪些?为什么要做接口自动化测试?如何一键生成测试报告?
【霍格沃兹测试开发】面试技巧指导/ 测试开发能力评级/1V1 模拟面试实战/ 冲刺年薪百万!
【霍格沃兹测试开发】腾讯软件测试能力评级标准/ 要评级表格的联系我
【霍格沃兹测试开发】Pytest 与Allure2 一键生成测试报告/ 测试用例断言/ 数据驱动/ 参数化
【霍格沃兹测试开发】App 功能测试实战快速入门/adb 常用命令/adb 压力测试
【霍格沃兹测试开发】阿里/ 百度/ 腾讯/ 滴滴/ 字节/ 一线大厂面试真题讲解,卷完拿高薪Offer !
【霍格沃兹测试开发】App自动化测试零基础快速入门/Appium/自动化用例录制/参数配置
【霍格沃兹测试开发】如何用Postman 做接口测试,从入门到实战/ 接口抓包(最新最全教程)
【霍格沃兹测试开发】6 小时轻松上手功能测试/ 软件测试工作流程/ 测试用例设计/Bug 管理