质量保证的范式已经转变。它不再仅仅是编写脚本;而是关乎架构、覆盖率和速度。现代AI已发展成为QA自动化工程师的关键合作伙伴,能够在数秒而非数小时内生成样板代码、优化选择器并调试复杂的竞态条件。
以下提示词已针对主流AI巨头进行了严格测试和优化:ChatGPT、Gemini、Claude和DeepSeek。虽然每个模型都具备独特的架构优势——DeepSeek的逻辑处理方式与Gemini的上下文处理不同——但这10个提示词为任何使用Selenium或Playwright的QA自动化工程师提供了通用、高效的基础。
1. 生成健壮的页面对象模型(POM)
最适合: Claude(擅长维护严格的架构模式和清晰的代码结构)。
编写样板页面对象类很重复。此提示词强制AI严格遵循页面对象模型设计模式,确保关注点分离和可维护性。
扮演一名高级QA自动化工程师。为[框架:Playwright/Selenium]创建一个页面对象模型(POM)类,使用[语言:例如TypeScript/Java],代表以下页面:
[在此处插入页面描述或HTML片段]
要求:
1. 使用行业最佳实践定义严格定位器(例如,优先使用data-testid而非通用CSS)。
2. 为用户交互创建语义化方法(例如,使用`login()`而不仅仅是点击按钮)。
3. 包含元素可见性的错误处理。
4. 不要在页面对象方法中包含断言。
收益: 消除了页面类设置的繁琐工作,确保你的测试套件以清晰、可扩展的架构开始,将测试逻辑与页面机制分离。
2. 将手动测试用例转换为自动化脚本
最适合: ChatGPT(在解释自然语言测试步骤并将其转换为代码方面高度灵活)。
此提示词弥合了手动QA与自动化之间的差距,快速将Gherkin语法或电子表格步骤转换为可执行代码。
我有一个针对[功能名称]的以下手动测试用例:
[粘贴手动步骤或Gherkin场景]
使用[框架:Playwright/Selenium]和[语言]将其转换为自动化测试脚本。
- 为每个验证点实现断言。
- 如果适用,使用async/await模式。
- 添加注释解释复杂逻辑。
- 假设已存在可用的`baseTest`夹具。
收益: 大幅减少了将测试用例从Jira工单转移到IDE所需的“翻译时间”,让你能够专注于边界情况而非语法。
3. 调试不稳定测试和竞态条件
最适合: DeepSeek(以复杂的逻辑分析和代码推理能力著称)。
不稳定测试是CI/CD的敌人。此提示词利用AI识别时序问题、竞态条件或不恰当的等待策略,这些问题对人眼来说并不明显。
分析以下测试代码片段及相关错误日志。找出此测试不稳定的原因(间歇性失败)。
代码:
[插入代码片段]
错误日志:
[插入错误日志]
重点分析:
1. 潜在的竞态条件。
2. 硬等待与动态等待的不当使用。
3. DOM状态不一致。
提供一个重构后的解决方案,确保确定性执行。
收益: 超越简单的语法修正,识别不稳定的根本原因,稳定你的CI流水线并减少误报。
4. 生成健壮的XPath和CSS选择器
最适合: ChatGPT(擅长模式匹配和生成多样化的选择器选项)。
脆弱的选择器在UI更改时会破坏测试。此提示词生成健壮的定位器,能够抵抗微小的DOM更新。
以下是HTML代码片段:
[粘贴HTML片段]
为元素[元素名称/描述]生成3种不同的选择器策略:
1. 一个健壮的CSS选择器(优先考虑ID、Name或Data属性等属性)。
2. 一个相对XPath(避免绝对路径)。
3. 一个Playwright/Selenium特定的定位器策略(例如,`getByRole`或`text=`)。
按可靠性排序,并解释为什么首选方案最稳定。
收益: 通过确保你使用最稳定、基于属性的定位器,防止“脆弱”测试,减少维护开销。
5. 创建数据驱动的测试场景
最适合: Gemini(在处理较大上下文和结构化数据生成方面表现卓越)。
测试单个输入是不够的。此提示词通过生成多样化的数据集(包括边界值和边界情况)来扩展你的覆盖率。
我需要为[输入字段名称,例如信用卡字段/日期选择器]执行数据驱动测试。
生成一个包含10个测试场景的JSON或CSV数据集,包括:
1. 有效输入。
2. 边界值(最小/最大长度)。
3. 无效格式(特殊字符、SQL注入尝试)。
4. 空/空值状态。
然后,在[框架]中编写一个参数化测试循环,遍历此数据。
收益: 立即倍增你的测试覆盖率,揭示你的应用程序如何处理意外或恶意输入,而无需手动编写变体。
6. 将遗留代码重构为现代标准
最适合: DeepSeek(强大的代码理解能力,适合重构逻辑)。
框架在演进。此提示词帮助你现代化遗留的Selenium代码或更新Playwright脚本以使用最新的语法和功能。
审查以下遗留的[Selenium/Playwright]代码片段:
[插入旧代码]
将此代码重构以满足现代最佳实践:
1. 将显式等待替换为流畅等待策略或自动等待。
2. 将回调链转换为现代async/await语法。
3. 移除已弃用的方法。
4. 优化可读性和性能。
收益: 保持你的代码库健康高效,防止技术债务随着框架发布新功能而累积。
7. 生成API集成测试
最适合: Claude(擅长处理技术细节和结构化请求/响应验证)。
现代QA需要测试后端和前端。此提示词协助编写API测试,这些测试可以与你的UI自动化一起运行。
使用[工具:Playwright APIRequestContext / RestAssured]为以下端点编写API测试:
端点:POST /api/v1/user
负载:{ "username": "string", "email": "string" }
要求:
1. 创建带有有效负载的正面测试用例。
2. 创建缺少必需字段的负面测试用例。
3. 不仅验证状态码(200/400),还要验证JSON响应体结构。
收益: 鼓励“测试金字塔”方法,让你能够快速启动API测试,以获得比仅UI测试更快的反馈循环。
8. 自愈测试逻辑实现
最适合: DeepSeek(逻辑密集型问题解决)。
虽然存在相关工具,但你可以编写自己的轻量级自愈逻辑。此提示词要求AI将交互包装在try-catch块中,在失败时尝试替代策略。
为[语言/框架]中的'Click'操作编写一个包装函数,实现基本的自愈逻辑。
该函数应:
1. 尝试点击主定位器。
2. 如果失败(ElementNotFound或Intercepted),捕获异常并尝试备用定位器。
3. 如果使用了备用方案,记录警告以便稍后更新测试。
收益: 提高夜间测试执行的弹性,确保微小的UI更改不会导致一连串的测试失败。
9. 视觉回归测试设置
最适合: ChatGPT(擅长通用配置和设置说明)。
视觉错误很难通过功能断言捕获。此提示词设置视觉比较的样板代码。
我想使用[工具:Playwright视觉比较 / Applitools SDK]实现视觉回归测试。
提供代码片段以:
1. 截取特定组件[组件名称]的屏幕截图。
2. 将其与基线图像进行比较。
3. 将阈值容差配置为0.5%,以避免因渲染像素导致的差异不稳定。
收益: 自动化“找不同”游戏,确保像素级完美的UI实现,无需手动视觉验证。
10. 生成Cucumber步骤定义
最适合: Gemini(高效地将文本模式映射到代码块)。
对于使用BDD的团队,将特性文件映射到代码很重复。此提示词自动处理映射。
以下是Gherkin特性文件内容:
[粘贴特性文件]
在[语言/框架]中生成相应的步骤定义文件。
- 使用正则表达式模式实现可扩展参数(例如,捕获数字或引号字符串)。
- 尽可能确保步骤可重用。
收益: 消除了BDD实现的摩擦,让你能够专注于应用程序的行为,而非连接英语与Java/TypeScript的粘合代码。
专业提示:上下文注入
要从Claude或DeepSeek获得最佳结果,切勿在真空中请求选择器。始终“注入上下文”。在请求脚本之前,将相关的HTML DOM结构或API Swagger定义粘贴到聊天中。你甚至可以首先粘贴你的package.json或pom.xml文件,并说:“记住此配置以供后续请求使用。”这确保AI确切知道你正在使用哪些库和版本,防止它建议不兼容的代码。
QA自动化工程师的角色正在从“脚本编写者”演变为“自动化架构师”。通过将语法、样板代码和选择器生成的繁重工作委托给AI,你可以释放心智带宽,专注于策略、边界情况和用户体验。开始将这些提示词集成到你的日常工作流中,不仅工作更快,而且测试更智能。
