适配WebUI测试+Playwright方案
可直接复用的标准化模板(适配WebUI测试+Playwright方案)
模板均按结构化、可落地、适配大模型转化设计,支持直接复制到Excel/Markdown/团队知识库中使用,贴合团队当前Playwright方案的实施需求,同时衔接业务地图提效逻辑。
模板1:标准化手工测试用例模板(WebUI专用)
核心适配大模型转化自动化用例,严格遵循操作对象+动作+值的编写规范,字段覆盖测试执行全要素,支持按功能模块归类管理,示例为电商登录模块,可直接替换业务内容。
| 字段名 | 填写要求/说明 | 示例(账号密码登录) |
|---|---|---|
| 用例唯一ID | 模块_功能_场景_序号(全局唯一,方便检索) | user_login_pwd_001 |
| 所属功能模块 | 按系统业务地图的模块层级填写(如XX系统-用户中心-登录模块) | 电商系统-用户中心-登录模块 |
| 用例优先级 | P0(核心必测)/P1(重要功能)/P2(一般功能)/P3(边缘场景) | P0 |
| 测试场景类型 | 正常场景/异常场景/边界场景 | 正常场景 |
| 前置条件 | 量化、明确环境/页面/数据状态(避免模糊描述) | 1. 测试环境已部署,网络正常;2. 测试账号test123已注册且未锁定;3. 处于系统登录页(URL:/login) |
| 测试数据 | 明确数据类型/来源/值(如数据池/固定值/接口生成) | 用户名:test123(测试数据池);密码:123456Abc(测试数据池) |
| 操作步骤 | 按步骤序号+操作对象+操作动作+操作值编写,单步骤仅一个核心动作 | 1. 点击【用户名输入框】,输入值test123;2. 点击【密码输入框】,输入值123456Abc;3. 点击【登录按钮】(红色,位于输入框下方) |
| 预期结果 | 量化、可判定(含页面跳转/元素显示/数据状态,避免“正常显示”) | 1. 页面跳转到系统首页(URL:/index);2. 首页右上角显示用户名“test123”;3. 浏览器Cookie中生成有效登录令牌 |
| 后置处理 | 用例执行后恢复环境/数据状态(如退出登录/清除缓存,可选) | 点击【退出按钮】,退出当前账号登录 |
| 备注 | 特殊说明(如依赖其他用例/需特定环境,可选) | 无 |
填写规范补充(强制)
- 操作对象必须是页面实际可见元素(如“【用户名输入框】”而非“【输入框1】”);
- 异常场景需单独编写用例(如用户名空/密码错误/账号锁定),不可与正常场景合并;
- 边界场景需明确边界值(如密码6位最小长度/18位最大长度)。
模板2:大模型生成Playwright用例提示词模板(Python版)
分基础版(无业务地图,快速使用)和进阶版(结合业务地图,高通过率),均按明确约束+固定格式+结果要求设计,大模型生成的代码可直接执行/少量优化,适配Playwright原生特性(步骤校验、报告、异常处理)。
版本1:基础版提示词(无业务地图,1-2周快速落地)
请你作为资深WebUI自动化测试工程师,将提供的标准化手工测试用例转化为**可直接执行的Python版Playwright自动化用例**,严格遵循以下要求: 1. 代码基础:基于Playwright最新稳定版,使用sync_api同步方式,无需异步代码; 2. 环境初始化:自动完成浏览器启动(Chrome)、页面打开、隐式等待(设置为5s),用例结束后自动关闭浏览器; 3. 元素定位:优先使用id/name/role,无则使用稳定的xpath(避免使用易变的class/标签定位); 4. 步骤校验:每个核心操作步骤后添加**元素存在/值校验**(如输入用户名后校验输入框值是否正确),校验失败抛出明确异常; 5. 预期结果:严格按手工用例的预期结果编写断言,断言失败时输出详细失败信息(如“页面未跳转到首页,当前URL为:/login”); 6. 测试数据:直接使用手工用例中的测试数据,单独定义变量存储(方便后续替换为数据池); 7. 代码结构:清晰分块(环境初始化→测试步骤→断言校验→后置处理→环境销毁),添加关键注释,无冗余代码; 8. 异常处理:对页面加载超时、元素未找到等常见异常做基础捕获,输出异常原因。 请直接生成完整可执行代码,无需额外解释,代码末尾无需加执行命令。 【待转化的标准化手工测试用例】 # 此处粘贴模板1的手工用例完整内容(含所有字段) 版本2:进阶版提示词(结合业务地图,核心提效)
请你作为资深WebUI自动化测试工程师,结合**业务地图核心信息**和**标准化手工测试用例**,生成**可直接执行、单步可优化的Python版Playwright自动化用例**,严格遵循以下要求: 1. 代码基础:基于Playwright最新稳定版,使用sync_api同步方式,无需异步代码; 2. 环境初始化:自动完成浏览器启动(Chrome)、页面打开、隐式等待(设置为5s),用例结束后自动关闭浏览器; 3. 元素定位:**必须严格使用业务地图中定义的元素定位符**,无明确定位符的使用稳定的xpath(避免使用易变的class/标签定位); 4. 业务规则:严格遵循业务地图中的页面跳转、操作约束、异常处理规则,不得违反业务逻辑; 5. 步骤校验:每个核心操作步骤后添加**元素存在/值/状态校验**(如输入用户名后校验输入框值是否正确),校验失败抛出明确异常; 6. 预期结果:严格按手工用例的预期结果编写断言,断言失败时输出详细失败信息(如“页面未跳转到首页,当前URL为:/login”); 7. 测试数据:直接使用手工用例中的测试数据,单独定义变量存储(方便后续替换为测试数据池/接口调用); 8. 代码结构:清晰分块(环境初始化→测试步骤→断言校验→后置处理→环境销毁),添加关键注释,无冗余代码; 9. 异常处理:对页面加载超时、元素未找到、业务异常(如账号锁定)等做捕获,输出异常原因并终止用例; 10. 可优化性:核心操作步骤单独封装为小函数(如login_op(username, password)),方便后续单步智能优化和复用。 请直接生成完整可执行代码,无需额外解释,代码末尾无需加执行命令。 【业务地图核心信息(所属模块)】 # 此处粘贴该用例所属模块的业务地图核心内容(模板3的梳理结果,含元素定位、业务规则、页面跳转等) 【待转化的标准化手工测试用例】 # 此处粘贴模板1的手工用例完整内容(含所有字段) 模板3:业务地图核心信息梳理模板(WebUI测试专用)
按功能模块维度梳理,一套系统可拆分为多个模块分别填写(如登录模块、订单模块、购物车模块),梳理结果可直接嵌入模板2的进阶版提示词,或部署为大模型本地知识库,核心覆盖大模型生成用例所需的所有业务信息,示例为电商登录模块。
业务地图(XX模块)核心信息梳理表
模块名称:电商系统-用户中心-登录模块
维护人:测试工程师XXX
更新时间:202X-XX-XX
版本:V1.0(需求变更时同步更新版本)
| 梳理维度 | 具体梳理项 | 填写说明 | 示例(登录模块) |
|---|---|---|---|
| 1. 功能模块层级 | 父模块/本模块/子模块 | 明确系统模块的上下级关系、联动模块(如登录模块联动用户信息模块) | 父模块:用户中心;本模块:登录模块;子模块:无;联动模块:用户信息模块、权限管理模块 |
| 2. 页面关联关系 | 所属页面/页面URL/页面跳转规则 | 明确模块对应的所有页面,以及页面间的触发条件+跳转结果 | 所属页面:登录页(/login); 跳转规则: ① 登录成功→首页(/index); ② 登录失败→停留在登录页; ③ 点击注册→注册页(/register); ④ 点击忘记密码→密码找回页(/find_pwd) |
| 3. 核心元素信息 | 页面+元素名称+定位符+元素类型+操作规则 | 统一元素定位标准(优先id/name/role),明确元素的可操作类型(输入/点击/选择)和操作约束 | 登录页: ① 用户名输入框:id=username | 输入框 | 仅支持字母/数字/下划线,最大20位; ② 密码输入框:id=password | 输入框 | 支持大小写+数字+特殊字符,6-18位; ③ 登录按钮:id=login_btn | 按钮 | 需先输入用户名+密码才可点击(否则置灰); ④ 错误提示框:class=error_tips | 文本框 | 失败时自动显示,成功时隐藏 |
| 4. 核心业务规则 | 正常规则/异常规则/边界规则 | 覆盖模块所有业务约束,是大模型生成断言和异常处理的关键 | ① 正常规则:账号密码匹配→登录成功并生成登录令牌; ② 异常规则:用户名空/密码空→提示“请输入用户名/密码”;账号密码不匹配→提示“账号或密码错误”;连续5次失败→账号锁定10分钟并提示“账号已锁定”; ③ 边界规则:密码6位(最小)/18位(最大)→正常登录 |
| 5. 测试数据依赖 | 数据类型/数据来源/数据约束 | 明确模块测试所需数据的类型(账号/密码/验证码等)、来源(数据池/接口/固定值)、约束(是否已注册/是否锁定等) | ① 有效账号:用户数据池 | 已注册、未锁定、绑定手机号; ② 无效账号:固定值(如test_null/123456) | 未注册/已锁定; ③ 短信验证码:短信接口(http://xxx/api/sms) | 与手机号绑定,有效期5分钟; ④ 测试密码:密码数据池 | 符合6-18位、大小写+数字+特殊字符规则 |
| 6. 异常处理规则 | 常见异常场景/处理方式/预期结果 | 覆盖技术异常(网络/页面/接口)和业务异常(账号锁定/验证码过期),明确处理方式 | ① 网络异常:登录时断网→提示“网络异常,请检查网络并重试”,保持登录页; ② 页面加载超时:登录页加载超过10s→抛出“页面加载超时”异常; ③ 验证码过期:使用过期验证码→提示“验证码已过期,请重新获取”; ④ 接口超时:登录请求接口响应超过5s→提示“请求超时,请重试” |
| 7. 接口依赖关系 | 核心接口/接口地址/请求方式/入参出参 | 明确模块依赖的核心后端接口(如登录接口/验证码接口),可选(复杂业务模块必填) | 登录接口:http://xxx/api/user/login | POST | 入参:username/password;出参:code(200=成功/400=失败)、msg、token |
维护规范(强制)
- 需求新增/变更/下线时,需在24小时内更新对应模块的业务地图,并同步版本号;
- 元素定位符发生变化(如前端修改id)时,优先更新业务地图,再同步优化自动化用例;
- 所有梳理结果同步至团队知识库(如Confluence/GitHub),确保测试/开发/产品统一认知。