写 UI 自动化最耗时间的不是“运行”,而是 写代码本身。
本篇,我们直接给你一套 可落地的 AI 生成 Playwright 自动化代码方案。
一、为什么要让 AI 写 UI 自动化代码?
如果你正在做 Playwright 自动化,大概率遇到过这些问题:
-
• 🎯 写一个简单页面,要写一堆定位器 + 操作代码 -
• 🧱 新页面、新需求,重复劳动极多 -
• 😓 测试新人上手慢,不知道如何写「规范代码」 -
• 📐 POM / pytest 规范讲过,但真正落地成本高
核心矛盾:
UI 自动化技术门槛不高,但代码“工程化质量”要求高。
👉 这正是 AI(DeepSeek)最适合介入的地方。
二、整体思路:AI 在哪里“刚好有用”?
我们不让 AI直接接管执行,而是让它做三件最值钱的事:
-
• ✅ 1️⃣ 根据页面 & 需求,生成 Playwright 代码草稿 -
• ✅ 2️⃣ 自动生成 Page Object(POM)结构 -
• ✅ 3️⃣ 统一输出「团队风格一致」的测试用例
人负责 Review + 决策
AI 负责 生成 + 重复劳动
三、整体工作流(推荐)
测试需求 / 页面说明
↓
整理 Prompt(结构化)
↓
DeepSeek 生成 Playwright 代码
↓
人工 Review & 小幅调整
↓
直接进入项目执行
四、准备工作
1️⃣ 环境准备
pip install playwright pytest requests
playwright install
2️⃣ DeepSeek API Key
假设你已有 DeepSeek API Key:
export DEEPSEEK_API_KEY="你的key"
Windows(CMD)示例:
set DEEPSEEK_API_KEY=你的key
五、第一个实战:让 AI 生成 Saucedemo 登录自动化代码
🎯 目标页面
👉 https://www.saucedemo.com/
测试目标:
-
• 打开页面 -
• 输入用户名 & 密码 -
• 点击登录 -
• 验证进入 inventory 页面
六、关键:Prompt 怎么写(这一步决定 80% 成败)
✅ 一个“好用”的 Prompt 模板
你是一名资深自动化测试工程师。
请使用 Python + Playwright + Pytest,
为以下网站生成 UI 自动化测试代码,要求:
1. 使用 Page Object Model(POM)
2. 页面类和测试类分离
3. 定位器稳定,优先使用 data-test / id / name
4. 包含基础断言
5. 代码可以直接运行
网站:https://www.saucedemo.com/
测试步骤:
1. 打开登录页
2. 输入用户名 standard_user
3. 输入密码 secret_sauce
4. 点击登录
5. 断言跳转到 inventory 页面
请直接输出完整 Python 代码文件内容。
注意:一定要要求“直接输出完整 .py 文件”
七、调用 DeepSeek API(完整可运行示例)
deepseek_generate.py
import os
import requests
API_KEY = os.getenv("DEEPSEEK_API_KEY")
API_URL = "https://api.deepseek.com/chat/completions"
prompt = """(此处粘贴上面的 Prompt 内容)"""
def generate_code(prompt: str):
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
payload = {
"model": "deepseek-chat",
"messages": [
{"role": "user", "content": prompt}
],
"temperature": 0.2
}
resp = requests.post(API_URL, headers=headers, json=payload)
resp.raise_for_status()
return resp.json()["choices"][0]["message"]["content"]
if __name__ == "__main__":
code = generate_code(prompt)
with open("generated_login_test.py", "w", encoding="utf-8") as f:
f.write(code)
print("✅ 自动化代码已生成:generated_login_test.py")
运行:
python deepseek_generate.py
八、AI 生成的代码示例(示意)
pages/login_page.py
class LoginPage:
def __init__(self, page):
self.page = page
self.username = "#user-name"
self.password = "#password"
self.login_btn = "#login-button"
def open(self):
self.page.goto("https://www.saucedemo.com/")
def login(self, user, pwd):
self.page.fill(self.username, user)
self.page.fill(self.password, pwd)
self.page.click(self.login_btn)
tests/test_login.py
def test_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" in page.url
👉 这已经是一个合格的新手到中级工程师水平代码。
九、让 AI 更“懂你”:进阶技巧(非常重要)
✅ 1️⃣ 把团队规范写进 Prompt
比如:
-
• 所有 locator 必须集中管理 -
• 不允许 magic number -
• pytest fixture 统一用 conftest
✅ 2️⃣ 限制输出结构(防止胡写)
请严格按照以下目录结构输出:
- pages/login_page.py
- tests/test_login.py
✅ 3️⃣ 低 temperature = 更稳定代码
"temperature": 0.2
十、哪些事情不建议交给 AI?
❌ 复杂业务逻辑设计
❌ 测试策略取舍
❌ 测试范围决策
✅ 适合 AI 的:
-
• 样板代码 -
• 标准页面 POM -
• 通用断言 -
• 重复性 UI 操作
十一、在企业项目中的正确姿势
✅ AI = 初稿生成器
✅ 人 = Review + 把关
✅ 最终代码 = 可维护、可扩展、可审计
你会发现:
不是 AI 取代测试工程师,而是放大了测试工程师的能力。
十二、总结
本篇你已经掌握:
✅ 如何用 DeepSeek 生成 Playwright UI 自动化代码
✅ 一个可执行的 AI → 自动化完整闭环
✅ 高质量 Prompt 编写方法
✅ 从“写代码”升级为“设计测试”
如果觉得本教程和本公众号对你有帮助,还请 点个赞,关个注,下次更新不迷路!

