Skip to content

Day2、3-用户端Web自动化测试框架实战练习

用户端 Web 自动化测试框架实战

简介

完成电子商务 web 产品实战。

知识模块

  • 用户端 Web 自动化测试 L3

知识点

  • 电子商务 web 产品实战

受众

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

场景介绍

在一家快速发展的互联网公司中,测试团队接到了一项紧急任务--为新上线的电商平台编写自动化测试脚本。由于项目周期紧张,现有的线性代码维护困难,团队决定引入 PageObject 设计模式优化框架,以提高代码的可维护性和可复用性。

角色分配

  • 测试组长:负责设计自动化测试的框架,并分配任务。
  • 测试工程师:负责编写自动化测试脚本,优化现有的测试框架
  • 开发工程师:协助提供页面的详细信息,解答疑问。
  • 项目经理:提出需求和验收标准,监督任务完成情况。

剧本剧情

挑战一:项目启动与需求分析

  • 场景:测试工程师的工位
  • 内容:
    • 项目经理发布任务,要求测试工程师编写自动化测试脚本,覆盖登录页面、商品添加页面、商品列表页面等主要功能。现有代码使用线性结构,希望通过引入 PO 模式来优化框架,便于日后维护和扩展。
    • 任务:
      • 分析实现的线性代码,识别其中的重复部分和不易维护的代码。
      • 讨论分析出的问题,列出需要通过PO模式解决的具体需求,如减少代码重复、分离页面元素与操作逻辑等。
      • 设定在引入PO模式后的预计完成目标,如提高代码复用率、降低代码维护成本、提升测试用例的可扩展性等。

挑战二:商品添加功能 PO 设计与实现

  • 场景:测试工程师的工位
  • 内容:测试工程师首先需要实现登录页面的自动化测试。现有代码中存在大量的元素定位和操作逻辑。要求设计登录页面、商品添加的PO类,并将现有测试代码迁移到 PO 模式中。
    • 任务:
      • 明确页面对象(Page Object)的结构和方法,规划好类图。
      • 封装页面元素定位和操作方法,将原有代码进行迁移。
      • 调用登录页面PO类中的方法,测试登录功能的正确性,验证PO模式的效果。
      • 创建商品列表和商品添加页面的 page 类,封装页面元素定位和操作方法。
      • 编写测试类,验证商品添加功能的正确性

挑战三:代码优化

  • 场景:测试工程师的工位
  • 内容:在完成主流程的自动化用例后,将组内用例整合,进一步优化,以提高代码的可读性、可维护性和执行效率,适当补充日志、截图、工具类和fixture优化整个流程
    • 任务:
      • 整合组内编写的测试用例,减少重复代码,优化代码结构。
      • 使用日志记录和报告生成工具(如Allure)提高测试过程的可追溯性和可视化程度。
      • 考虑未来测试用例和数据增加时的管理方式,如引入数据驱动测试、参数化用例等。

挑战四:增加用例数

  • 场景:测试工程师的工位
  • 内容:完善整体框架后,需要组内成员分别补充完善用例,使得自动化测试可以覆盖到回归测试的流程
    • 任务:
      • 针对商品添加场景,编写新的测试用例,提升测试覆盖率。
      • 优化测试数据管理策略,确保用例的独立性和可维护性。
      • 每人完成用例 20 条。

面试题

总结

  • 电子商务 web 产品实战
  • 掌握 PO 设计模式