大数跨境
0
0

AI自动化测试:如何让DeepSeek帮你生成UI自动化代码(Playwright + Python)

AI自动化测试:如何让DeepSeek帮你生成UI自动化代码(Playwright + Python) Playwright实战教程
2025-12-08
0
导读:写 UI 自动化最耗时间的不是“运行”,而是 写代码本身。本篇,我们直接给你一套 可落地的 AI 生成 Playwright 自动化代码方案。

 


写 UI 自动化最耗时间的不是“运行”,而是 写代码本身
本篇,我们直接给你一套 可落地的 AI 生成 Playwright 自动化代码方案


一、为什么要让 AI 写 UI 自动化代码?

如果你正在做 Playwright 自动化,大概率遇到过这些问题:

  • • 🎯 写一个简单页面,要写一堆定位器 + 操作代码
  • • 🧱 新页面、新需求,重复劳动极多
  • • 😓 测试新人上手慢,不知道如何写「规范代码」
  • • 📐 POM / pytest 规范讲过,但真正落地成本高

核心矛盾:

UI 自动化技术门槛不高,但代码“工程化质量”要求高。

👉 这正是 AIDeepSeek)最适合介入的地方。


二、整体思路: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"

WindowsCMD)示例:


   
    
   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 编写方法
✅ 从“写代码”升级为“设计测试”

如果觉得本教程和本公众号对你有帮助,还请 点个赞,关个注,下次更新不迷路!

 


【声明】内容源于网络
0
0
Playwright实战教程
内容 224
粉丝 0
Playwright实战教程
总阅读12
粉丝0
内容224