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
二、从登录功能入门:你的第一个测试PromptPrompt输入: 基于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技巧总结 🧰
|