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 设计模式