ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 1em;color: rgb(63, 63, 63);">引言:Prompt=AI工程师源代码ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;font-style: normal;padding: 1em;border-radius: 6px;color: rgba(0, 0, 0, 0.5);background: rgb(247, 247, 247);">ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 1em;display: block;letter-spacing: 0.1em;color: rgb(63, 63, 63);">本文将以Playwright为执行引擎,结合DeepSeek等AI助手,从最基础的登录功能出发,逐步建立一个完整的Prompt构建体系,并完成购物车的自动化测试。ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">在AI辅助测试时代,Prompt不仅仅是提示词,更是ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">自动化脚本的源代码。尤其是在Web UI测试中,ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: inherit;color: rgb(15, 76, 129);">Prompt的设计质量,决定了测试脚本的可用性、可维护性和复用性。
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 1em;color: rgb(63, 63, 63);">实战案例ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;display: table;padding: 0px 0.2em;color: rgb(255, 255, 255);background: rgb(15, 76, 129);">一、Prompt五要素结构 🧠ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;letter-spacing: 0.1em;color: rgb(63, 63, 63);">构建有效Prompt,需明确以下五要素:
ingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", Arial, sans-serif;font-size: 14px;color: rgb(63, 63, 63);" class="list-paddingleft-1">1. 🎯目标:告诉AI你想实现什么,如“生成一个登录测试用例”2. 🔧上下文:给出项目结构、API、页面元素等背景3. 🧱结构指令:明确输出形式,如"请返回完整Python代码"5. 🧩约束条件:如不可使用XPath、需使用async风格✅示例Prompt结构:
你是一个Web自动化专家。请基于Playwright生成测试用例,目标是测试登录功能。
要求:
- 使用Python sync风格
- 用户名输入id为#user-name,密码为#password
- 登录按钮id为#login-button
- 成功登录后跳转到/inventory.html
二、从登录功能入门:你的第一个测试Prompt
Prompt输入:
基于Playwright生成登录测试,目标网站是 https://www.saucedemo.com。
用户名和密码分别填入ID为#user-name和#password,点击#login-button,登录后验证跳转URL为/inventory.html。
AI输出脚本:
# test_login.py
deftest_login_success(page):
page.goto("https://www.saucedemo.com")
page.fill("#user-name","standard_user")
page.fill("#password","secret_sauce")
page.click("#login-button")
assert"/inventory.html"inpage.url
三、进阶Prompt:截图 + 日志 + 异常输出
Prompt输入:
增加异常截图和失败日志输出,如果登录失败保存截图并抛出自定义异常。
AI输出示例:
importpytest
deftest_login_with_log(page):
try:
page.goto("https://www.saucedemo.com")
page.fill("#user-name","standard_user")
page.fill("#password","secret_sauce")
page.click("#login-button")
assert"/inventory.html"inpage.url
exceptAssertionError:
page.screenshot(path="reports/login_fail.png")
raiseException("登录失败,已截图")
四、构建复杂Prompt:购物车测试全流程
Prompt输入:
生成一个添加商品到购物车的测试用例,要求:
- 商品按钮ID为#add-to-cart-sauce-labs-backpack
- 添加后购物车徽章应为1
- 点击购物车后页面应展示商品名为"Sauce Labs Backpack"
生成结果:
# test_cart_basic.py
deftest_add_to_cart(page):
page.goto("https://www.saucedemo.com")
page.fill("#user-name","standard_user")
page.fill("#password","secret_sauce")
page.click("#login-button")
page.click("#add-to-cart-sauce-labs-backpack")
assertpage.locator(".shopping_cart_badge").inner_text() =="1"
page.click(".shopping_cart_link")
assertpage.locator(".inventory_item_name").inner_text() =="Sauce Labs Backpack"
五、Prompt技巧总结 🧰