评论

使用 OpenClaw Skills + 录制回放功能,生成 Minium 测试脚本,实现AI自动化

使用openclaw+录制功能生成minium框架自动化脚本

使用 OpenClaw Skills + 录制回放功能,生成 Minium 测试脚本

解放双手,让 AI 帮你写自动化测试代码


🎯 你是不是也遇到过这些问题?

  • 小程序测试全靠手工点,每次发版都要重复测试一遍
  • 想写自动化测试,但 Minium 脚本太复杂,学不会
  • 录制好的脚本乱七八糟,没法直接用在项目里
  • 写测试用例花的时间比写业务代码还长

别慌,今天介绍一个神器:OpenClaw Minium 测试生成器技能 🚀


🤖 这是什么?

简单说,这是一个能自动把录制脚本转成规范测试用例的SKILLS。

下载地址

ClawHub 官方页面https://clawhub.ai/yiziria/minium-test-generator

安装步骤

  1. 下载技能包

    • 访问 ClawHub 页面,点击 “Download zip”
    • 或直接用下载链接获取 ZIP 文件
  2. 解压到openclaw技能目录

    # Windows PowerShell 示例
    # 解压到 OpenClaw 技能目录
    Expand-Archive -Path "minium-test-generator.zip" -DestinationPath "~/.openclaw/skills/minium-test-generator"
    
  3. 验证安装

    # 检查技能文件是否存在
    Test-Path "~/.openclaw/skills/minium-test-generator/SKILL.md"
    

你只需要:

  1. 用微信开发者工具的录制功能录一遍操作流程
  2. 把录制脚本丢给 OpenClaw
  3. 它自动生成符合 Page Object 模式的测试代码

原来需要 2 小时的工作,现在 5 分钟搞定。


📋 实际效果展示

录制脚本(原始)

# 录制的脚本,又长又乱
import minium
import json,base64,os
from recordtools import touch
class FirstTest(minium.MiniTest):
    def test(self):
        self.logger.info("登录")
        self.mark_step_start("relaunch_0")
        self.app.relaunch("/pro/pages/homepage/group-homepage/group-homepage?scene=1&groupId=6&from=groupmessage")
        self.capture("relaunch_0")
        self.mark_step_start("step_1")
        self.capture("tap_1")
        element_is_exists = self.page.element_is_exists(xpath="/page-wrapper/view/view/view[1]/view[2]/view[1]/view[3]/view/management-card-panel/view/view[2]/view[2]")
        if  element_is_exists :
            element = self.page.get_element_by_xpath("""/page-wrapper/view/view/view[1]/view[2]/view[1]/view[3]/view/management-card-panel/view/view[2]/view[2]""")
        else :
            element = self.page.get_element_by_xpath("//*",inner_text="""账号管理""")
        element.tap()
        self.page.wait_for(9)
        ret = self.app.wait_util(2,20)
        ret = self.app.wait_for_page("/pro/pages/home/leaders-management/leaders-management?scene=1&groupId=6&from=groupmessage")
        self.assertTrue(ret,"校验当前操作的跳转是否正常--check_path_1")
        self.logger.debug("[minitest replay] tap")

生成后的测试用例(规范)

# pages/login_page.py
class LoginPage:
    def __init__(self, driver):
        self.driver = driver
        self.login_btn = 'xpath=//view[text()="登录"]'
        self.phone_input = 'xpath=//input[1]'
        self.password_input = 'xpath=//input[2]'
        self.agree_btn = 'xpath=//view[text()="同意协议"]'

    def login(self, phone, password):
        self.tap(self.login_btn)
        self.send_keys(self.phone_input, phone)
        self.send_keys(self.password_input, password)
        self.tap(self.agree_btn)
        return self

# test_cases/test_login.py
def test_login_success(login_page):
    """测试登录成功"""
    login_page.login('13800138000', '123456')
    assert login_page.is_logged_in()

代码整洁度提升 300%,维护成本降低 80% 📉


🛠️ 使用步骤

第 1 步:准备环境

  1. 安装 Minium
  2. 安装 OpenClaw
  3. 准备录制脚本
  4. 准备测试用例目录,测试框架设计可以参考我之前的文章:https://developers.weixin.qq.com/community/business/doc/000a0c1d4d41a8e9e7506487c6b40d

第 2 步:录制操作流程

  1. 打开微信开发者工具
  2. 进入「测试」→「自动化测试」
  3. 点击「录制」按钮
  4. 在模拟器上操作一遍要测试的流程
  5. 停止录制,导出Minium脚本,导出的文件下有个时间戳为名的文件,打开复制里面的py文件内容

第 3 步:调用 OpenClaw 技能

在 OpenClaw 中发送:

帮我生成 Minium 测试用例
录制脚本:[粘贴录制的脚本]

第 4 步:等待生成

AI 会自动:

  • ✅ 分析录制脚本的操作步骤
  • ✅ 生成 Page Object 页面类
  • ✅ 生成测试用例文件
  • ✅ 生成用例说明文档
  • ✅ 添加必要的断言和等待

第 5 步:运行测试

# 执行生成的测试
minitest -m testcase.XXXX --case test_XXXX -c config.json -g

💡 核心优势

对比项 手工写测试 用 OpenClaw 技能
时间成本 2-3 小时/用例 10-15 分钟/用例
代码规范 因人而异 统一 PO 模式
元素定位 容易写错 自动优化策略
等待处理 容易遗漏 智能添加
维护成本

🔧 技能特点

1. 强制询问目录

生成前先问:

  • 测试用例目录在哪里?
  • 是新建项目还是添加到现有目录?

避免覆盖已有代码

2. 智能分析现有结构

如果是现有项目:

  • 自动阅读已有的 Page Object
  • 遵循现有命名规范
  • 不引入冲突的代码风格

3. PO 模式标准化

生成的代码符合 Page Object 设计模式:

  • 每个页面对应一个类
  • 元素定位与操作分离

4. 元素定位策略优化

# 优先级:CSS Selector > XPath > Text
# 自动添加备用定位策略
self.login_btn = {
    'css': '.login-btn',
    'xpath': '//view[text()="登录"]',
    'text': '登录'
}

📁 生成的文件结构

tests/
├── pages/                  # Page Object 层
│   ├── __init__.py
│   ├── login_page.py       # 登录页面
│   ├── home_page.py        # 首页
│   └── README.md           # 页面类说明
├── test_cases/             # 测试用例文档
│   ├── login.md            # 登录用例说明
│   └── purchase.md         # 购买用例说明
├── conftest.py             # Pytest 配置
├── run_test.py             # 测试运行脚本
├── test_login.py           # 登录测试
└── test_purchase.py        # 购买测试

结构清晰,新人也能快速上手 👍



⚠️ 注意事项

1. 录制脚本要干净

  • 录制前清空无关操作
  • 不要录错,错了重新录
  • 每个用例录一个完整流程

2. 元素定位要准确

  • 生成后检查元素定位是否正确
  • 特殊元素可能需要手动调整
  • 动态 ID 的元素需要特殊处理

3. 断言需要补充

  • AI 生成的断言是基础的
  • 业务逻辑断言需要手动添加
  • 边界条件需要额外测试

4. 不要盲目信任

  • 生成的代码要 review
  • 先跑通再提交
  • 复杂场景需要人工优化


💬 结语

自动化测试不是可选项,是必选项。

但写测试不应该是痛苦的事。用好工具,让 AI 帮你承担重复劳动,你专注于更有价值的测试设计和质量分析。

测试写得好,下班下得早 🏃‍♂️

最后一次编辑于  03-27  
点赞 3
收藏
评论

1 个评论

  • Freya小瑾今
    Freya小瑾今
    03-27

    👍干货满满

    03-27
    赞同
    回复
登录 后发表内容