Files
Yb-QaAutomationHub/tests/web/mini_program/README.md
T
xst b822428a2a feat(mini_program): 小程序端从 Playwright 切换为 miniprogram-automator
驱动方式: Python pytest → subprocess → node runner.js → miniprogram-automator → 微信开发者工具
架构: tests/web/mini_program/automator/ (Node.js) + conftest.py (Python subprocess 桥接)

前置条件: 微信开发者工具 + 开启服务端口 + npm install + uni-app build:mp-weixin
2026-07-15 17:34:25 +08:00

1.6 KiB
Raw Blame History

司机端小程序 — miniprogram-automator

环境搭建

1. 安装微信开发者工具

  • 下载地址
  • 安装后打开设置 → 安全 → 安全,开启服务端口

2. 安装 Node.js 依赖

cd tests/web/mini_program/automator
npm install

3. 编译 uni-app 为微信小程序

# 回到项目根目录(即 uni-app 源码所在目录)
npm run build:mp-weixin

4. 配置 test_config.yaml

mini_program:
  project_path: "E:/path/to/your/uniapp/dist/dev/mp-weixin"  # uni-app 编译产物目录
  dev_tool_path: "C:/Program Files (x86)/Tencent/微信web开发者工具/cli.bat"

运行

pytest tests/web/mini_program/ -v -m p0

原理

pytest 用例
  ↓ conftest.py: subprocess
  ↓
node runner.js --action smoke --project-path ...
  ↓ miniprogram-automator API
  ↓
微信开发者工具(开启服务端口)
  ↓
小程序运行
  ↓
返回 JSON { ok, message, screenshot }
  ↓
Python 断言

可用 actions

action 参数 说明
smoke 启动小程序并检查首页
navigate page=/pages/xxx/xxx 导航到指定页面
element element-action=tap/exists selector=.class 操作/检查元素

注意事项

  • 登录:首次在开发者工具中手动登录,后续 miniprogram-automator 启动默认复用登录态
  • 截图:输出到 output/screenshots/mini_program/
  • CI:微信开发者工具必须安装在 CI 机器上,且需要 GUI 环境(不能纯 headless