脚本生成 Prompt 模板
2026/7/24 20:30:19 网站建设 项目流程

一、Playwright + Pytest 脚本生成 Prompt 模板

使用方式:将「全局系统提示词」配置为大模型的 System 角色(固定上下文),再根据具体生成场景,填充对应场景 Prompt 的占位符后作为 User 输入,即可输出符合工程规范的脚本。


(一)全局系统提示词(所有场景必前置加载)

你是一名资深的 Python + Playwright + Pytest 自动化测试开发专家,严格遵循以下所有规则生成代码,不得违反: 【核心技术栈】 - 语言:Python 3.10+,严格遵循 PEP8 编码规范 - UI 框架:Playwright 最新稳定版,仅使用官方原生 API - 测试框架:Pytest,支持 fixture、参数化、标记等特性 - 设计模式:严格遵循 POM(Page Object Model)页面对象模式 【强制编码规范】 1. 命名规则 - 类名:大驼峰命名法,如 LoginPage - 函数/方法/变量:蛇形命名法,如 input_username - 测试文件:以 test_ 开头,页面对象文件以 _page.py 结尾 2. 元素定位优先级(从高到低,严禁使用绝对 XPath) get_by_role() > get_by_text() > get_by_label() > get_by_placeholder() > get_by_test_id() > 相对 CSS 选择器 > 相对 XPath 优先使用语义化定位,最大化提升脚本健壮性 3. 等待与执行规范 - 完全依赖 Playwright 内置自动等待机制,绝对禁止使用 time.sleep() 强制等待 - 常规操作无需手动等待元素可见;特殊场景使用 expect().to_be_visible() 显式断言 4. 断言规范 - 统一使用 playwright.sync_api.expect 断言库,禁止使用原生 assert 做 UI 断言 - 断言分层:元素存在性断言 → 元素状态断言 → 业务文本/值断言 - 禁止仅断言页面跳转,必须对应业务预期结果做精准断言 5. 架构与复用规范 - POM 层仅封装元素定位与原子操作方法,不包含断言逻辑 - 测试用例层仅调用 POM 方法与执行断言,不直接编写元素定位 - 通用能力(登录、鉴权、公共导航)必须调用项目已有 fixture,不得重复实现 - 敏感信息(账号、密码、密钥)必须通过 os.getenv() 或配置文件读取,严禁硬编码 6. 健壮性与可维护性 - 关键步骤添加清晰的中文注释,说明业务含义 - 自动适配测试框架的失败截图、录屏、日志埋点机制 - 代码简洁无冗余,优先复用已有公共方法,不重复造轮子 【输出要求】 - 仅输出可直接执行的代码,不输出多余的解释说明文字 - 多文件输出时,每个代码块顶部标注完整文件名,格式:# 文件名:xxx/xxx.py - 无需说明依赖安装,默认环境已安装所有依赖 - 若存在不确定的信息,标注 # TODO: 待确认xxx,禁止凭空编造

(二)分场景 Prompt 模板

场景1:页面对象层(POM)生成模板

用途:根据页面元素清单,生成标准 POM 页面对象类

【输入信息】 - 页面名称:{{页面中文名称,如:系统登录页}} - 页面路由/URL:{{页面访问路径,如:/login}} - 页面核心元素清单:{{列出所有需操作的元素,如:用户名输入框、密码输入框、登录按钮、错误提示框}} - 核心原子操作:{{列出页面支持的操作,如:输入用户名、输入密码、点击登录、获取错误提示文本}} - 补充上下文:{{可选,如 iframe 说明、弹窗交互、特殊校验逻辑等}} 【输出要求】 生成完整的页面对象类文件,包含所有元素定位与对应的操作方法,方法名语义化,参数清晰,符合 POM 规范。

场景2:测试用例层生成模板(核心:自然语言转自动化脚本)

用途:将结构化文本用例转化为可执行的 Pytest 测试脚本

【输入信息】 - 关联 POM 类:{{对应页面对象文件名与类名,如:login_page.py / LoginPage}} - 测试用例编号:{{用例 ID,如:TC_LOGIN_001}} - 用例优先级:{{P0 / P1 / P2}} - 前置条件:{{用例执行前准备条件,如:已进入系统登录页}} - 操作步骤: 1. {{步骤1,如:输入正确用户名 test_user}} 2. {{步骤2,如:输入错误密码 123456}} 3. {{步骤3,如:点击登录按钮}} - 预期结果: 1. {{预期1,如:页面弹出错误提示框}} 2. {{预期2,如:错误提示文本为“用户名或密码错误”}} - 测试数据要求:{{可选,如:账号从环境变量读取,参数化覆盖3组异常数据}} 【输出要求】 生成完整的 Pytest 测试用例文件,用例函数名语义化,严格对应步骤与预期,断言精准,复用项目公共 fixture。

场景3:存量脚本自动修改模板(需求变更适配)

用途:根据需求变更点,自动更新已有脚本,降低维护成本

【输入信息】 - 原脚本完整代码:{{粘贴待修改的原脚本全文}} - 需求变更点:{{详细描述变更内容,如:登录页新增图形验证码输入框,登录步骤需增加验证码输入}} - 受影响范围:{{可选,如:元素定位新增、操作步骤调整、断言逻辑变更}} 【输出要求】 1. 先输出「修改说明」,列出所有变更点与修改原因 2. 输出修改后的完整脚本代码,修改处添加 # 修改: xxx 注释标记 3. 保持原有代码风格与架构不变,仅调整与变更相关的内容

场景4:断言增强与异常场景补全模板

用途:补全断言逻辑,批量生成边界/异常测试场景

【输入信息】 - 原脚本代码:{{粘贴原正常流程测试用例}} - 业务校验规则:{{对应的业务规则,如:用户名长度5-20位、密码不能为空、不支持特殊字符}} - 增强方向:{{如:补全多层断言、增加异常输入场景、边界值参数化覆盖}} 【输出要求】 1. 保留原有正常流程用例 2. 使用 @pytest.mark.parametrize 实现多场景参数化覆盖 3. 每个场景对应精准的断言逻辑 4. 输出完整的增强后脚本文件

二、AI 脚本生成落地执行全流程检查清单

一、前置准备阶段(生成前必检,决定 80% 生成质量)

□ 已加载「全局系统提示词」作为大模型固定 System 角色,确保生成规范统一
□ 已注入项目上下文:技术栈版本、POM 架构规范、公共 fixture 清单、命名规则
□ 已通过 RAG 召回相似历史优质脚本,作为生成风格与逻辑参考
□ 输入用例已完成结构化拆分:前置条件、操作步骤、预期结果清晰分离
□ 已确认页面元素/业务定义的准确性,关键信息无模糊表述
□ 敏感数据规则已明确:账号、密钥等通过环境变量读取,禁止硬编码

二、生成执行阶段(过程管控,降低幻觉风险)

□ 严格遵循分层生成逻辑:先生成 POM 页面对象层,验证通过后再生成测试用例层
□ 复杂场景采用分步生成:单条用例步骤超过 5 步时,拆分原子操作逐步生成验证
□ 核心业务场景已补充业务领域知识作为输入上下文,避免逻辑偏差
□ 生成过程中出现不确定信息时,已标记 TODO 待人工确认,未放任模型编造
□ 多文件生成时,已明确每个文件的职责边界,无逻辑混叠

三、生成后自动校验阶段(机器自动执行,过滤基础错误)

语法与规范校验

□ 已通过 Python 语法检查(python -m py_compile),无语法错误
□ 已通过 Pytest 用例收集校验(pytest --collect-only),无用例加载异常
□ 已执行代码规范扫描(Black/Flake8),符合 PEP8 与团队编码规范
□ 已排查禁用项:无time.sleep()、无绝对 XPath、无硬编码敏感信息

逻辑一致性校验

□ 操作步骤与输入用例一一对应,无遗漏、无额外新增步骤
□ 预期结果全部转化为对应断言,无断言遗漏、无无效断言
□ 前置条件与后置清理逻辑完整,符合用例设计要求

可维护性校验

□ 严格遵循 POM 分层架构,用例层无直接元素定位
□ 公共方法已复用,无重复代码冗余
□ 关键步骤注释清晰,命名语义化,无歧义

四、人工审核入库阶段(核心质量把关)

业务逻辑审核

□ 业务流程符合需求定义,无逻辑偏差
□ 断言精准对应业务预期,覆盖核心校验点,无无效断言
□ 异常场景、边界场景符合业务规则,无逻辑错误

技术可行性审核

□ 元素定位方式健壮,符合优先级要求,无脆弱定位
□ 等待机制合理,无强制等待,无执行时序问题
□ 测试数据符合业务规则,不会造成环境脏数据污染

安全性审核

□ 无账号、密码、密钥等敏感信息硬编码
□ 无生产环境地址、内部配置泄露
□ 执行逻辑不会对测试环境造成不可逆影响

五、运行运维与持续优化阶段

首次执行验收

□ 已在测试环境独立执行 3 次,全部通过,无偶发失败(Flaky Test)
□ 失败时自动触发截图、录屏、日志记录,符合问题排查规范
□ 执行时长符合预期,无异常超时

持续优化机制

□ 人工修改后的脚本已回流至 RAG 知识库,用于后续生成优化
□ 生成失败/错误的场景已记录,用于迭代 Prompt 与规则
□ 定期统计生成准确率、一次通过率、人工修改成本,持续优化生成效果

维护管理

□ 脚本已关联对应用例 ID,纳入用例管理平台统一管理
□ 脚本维护责任人已明确,变更记录全程留痕
□ 定期清理失效、冗余脚本,保持脚本库健康度

补充规则:P0 级核心业务场景必须执行全量检查;P2 级非核心场景可适当简化人工审核环节,仅做自动校验 + 抽审。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询