Skip to content

Day2-用户端Web自动化测试

Day2-用户端 Web 自动化测试 Allure 测试报告

简介

掌握高级定位 css、xpath 的使用方法和显式等待的高级使用。

知识模块

  • 用户端 Web 自动化测试 L2

知识点

  • 自动化测试流程
  • Allure 测试报告

受众

  • 初级测试开发工程师
  • 初级 Python 开发工程师

相关知识点

教程地址 视频地址
Allure2 安装 Allure2 安装
Allure2 运行方式 Allure2 运行方式
Allure2 报告生成 Allure2 报告生成
Allure2 报告中添加用例标题 Allure2 报告中添加用例标题
Allure2 报告中添加用例步骤 Allure2 报告中添加用例步骤
Allure2 报告中添加用例描述 Allure2 报告中添加用例描述
Pytest 标记测试用例
Pytest 设置跳过、预期失败用例
Pytest 运行用例
Python 执行 Pytest
Pytest 测试用例生命周期管理

用例执行

在开始 web 自动化测试工作后,用例执行是测试环节的核心部分,直接关系到测试的效果和质量,也是能够提升整个测试团队效率的关键。

在实际的工作中,通常会将自动化测试集成到 CI/CD 流程中,通过每日构建能够快速定位到自动化测试的问题,并且可以持续检测系统的稳定性。

因此,为了确保测试过程高效且有序,合理管理和执行自动化测试用例是至关重要的。

基于用例执行,还可细分为如下几个方面,帮助构建更合理且效率更高的自动化执行的结构。

  • 阶段管理
  • 模块管理
  • 用例分类
  • 测试报告展示
阶段管理

自动化测试用例在实际的应用中更多的用在了回归测试的阶段,这一阶段的测试至关重要,它不仅验证新版本的功能稳定性,还确保既有功能不被破坏。

所以基于这个需求,自动化用例的编写也需要更加符合回归的需求,即确保流程稳定并涵盖需要每次验证的关键功能,这意味着,更多的精力应集中在能够稳定执行且具有较高优先级的功能模块上。

  • 流程稳定性:确保编写的自动化用例能在不同版本间稳定允许,减少因代码或环境变化导致的流程失败。
  • 关键功能覆盖:优先编写那些涉及核心业务流程的测试用例。

结合到项目中可以使用 git 分支管理来区分每个阶段的测试任务。

用例分类

用例的合理分类能够显著提升测试执行的效率和准确性,确保关键功能得到有限验证,同时也能更好地管理和维护测试用例。

  • 优先级划分:根据业务需求和功能重要性,将用例划分为高、中、低优先级。
  • 模块划分:根据系统的功能模块,将测试用例分组、如登录模块、用户管理模块等。

在 Pytest 中,可以通过@pytest.mark为用例设置优先级标签和模块标签,通过参数化功能@pytest.mark.parametrize使得同一测试用例能够覆盖多个场景,从而提高用例的覆盖率和执行效率。

测试报告展示

自动化测试不能只关注于编写自动化测试代码。

对于测试结果更需要及时查看并且解决问题。测试报告是测试过程的关键输出,直接影响团队对测试结果的理解和后续的改进措施。

  • 实时报告与通知:通过结合 CI/CD 达到在测试执行结束后立即生成测试报告的效果,并通过邮件、消息通知等方式通知给相关人员,确保问题能够快速响应。
  • 可视化报告:测试报告应包含详细的测试结果,包括用例结构,用例数,执行通过率,执行时间,用例详情,错误日志和截图等,通过可视化的形式展示这些信息,能够使得团队成员更直观了解测试结果并快速定位问题。
  • 数据分析:对于 Jenkins 这样的平台会保留每次构建后的结果,所以更方便分析历史数据发现长期存在的问题或者测试盲区,帮助团队不断优化测试策略。

测试报告可以使用 Allure 来直接生成每次执行的结果。

课堂练习

Allure 报告实战

要求:添加 Allure 报告信息

  • 用例模块
  • 用例标题
  • 用例描述
  • 用例截图
  • 日志信息

练习一:必应搜索-添加 Allure 报告

"必应搜索" 测试步骤描述:

  1. 打开必应搜索 https://cn.bing.com/?mkt=zh-CN
  2. 输入关键字:"Selenium 中文官网"。
  3. 点击搜索按钮。
  4. 断言 “Selenium” 和 “https://www.selenium.dev/zh-cn” 在搜索结果的标题中。
  5. 导出用例,运行成功。

练习二:百度搜索功能练习-添加 Allure 报告

使用八大定位完成"百度搜索功能"自动化测试用例的编写,步骤如下:

  1. 打开百度搜索 https://www.baidu.com/
  2. 输入关键字:"测试人社区"。
  3. 点击搜索按钮。
  4. 断言 “测试人社区” 在第一个标题中。

练习三:测试人社区搜索-添加 Allure 报告

要求:完成对测试人社区高级搜索功能的测试

  1. 结合黑盒测试用例设计方法,使用 xmind 编写测试用例
  2. 选择其中部分用例使用自动化实现
  3. 使用 pytest 参数化的形式实现
  4. 添加用例标记分类管理自动化用例

用例执行实战

  1. 小组新建一个 gitee 仓库
  2. 小组成员在该仓库上新建个人分支,将每日练习上传至个人分支,并分模块管理
  3. jenkins 新建属于自己小组的 job,每日构建多分支任务
  4. 每日查看 Jenkins 运行结果

面试题

总结

  • Allure 报告
  • 自动化测试流程