返回 Skill 列表
extension
分类: 其它无需 API Key

微信小程序自动化测试

微信小程序自动化测试工具包,支持启动开发者工具、页面导航、元素交互、截图、读取控制台日志等功能。

person作者: eumenides-khubclawhub

WeChat Mini Program Automation Testing

CRITICAL: Batch Execution Rule

ALWAYS write a single Python script that uses WeappTestRunner to batch ALL operations, then execute it with ONE python call.

Each tool call costs ~30-60s overhead. A test with 10 individual CLI calls takes 5-15 minutes; the same 10 operations batched into one script take ~5 seconds.

Execution pattern

  1. Plan all operations the user needs
  2. Write a single Python script using WeappTestRunner
  3. Run with one python command
  4. Read output and report results

Example

import sys
sys.path.insert(0, r"path_to_weapp-automation_skill\scripts")
from weapp_automation import AutomationConfig, WeappTestRunner

config = AutomationConfig(
    project_path=r"path_to_your_miniapp\my_mini_app",
    ws_endpoint="ws://localhost:9420"
)

runner = WeappTestRunner(config)
results = (runner
    .navigate("pages/index/index")
    .wait(2)
    .screenshot("home.png")
    .click(".category-item")
    .wait(1)
    .screenshot("after_click.png")
    .get_results())

print(runner.get_summary())
for r in results:
    print(r)

Save as a .py file and run with python script.py.


Prerequisites

  1. Install: npm install -g miniprogram-automator
  2. Open WeChat DevTools -> Settings -> Security Settings -> Enable "Service Port"
  3. Ensure the project is imported into DevTools

CLI paths:

  • macOS: /Applications/wechatwebdevtools.app/Contents/MacOS/cli
  • Windows: C:\Program Files (x86)\Tencent\微信web开发者工具\cli.bat

WeappTestRunner Chainable Methods

| Method | Description | |--------|-------------| | .navigate(page_path) | Navigate to a page | | .click(selector) | Tap an element | | .input(selector, text) | Type text into an input field | | .screenshot(filename) | Take a screenshot | | .scroll(selector, direction, distance) | Scroll an element | | .get_wxml(selector) | Extract WXML DOM structure | | .get_data(path) | Read page data | | .wait(seconds) | Wait for a duration | | .run() | Execute all queued steps | | .get_results() | Execute and return results list | | .get_summary() | Return pass/fail summary dict |


Other APIs

  • WeappAutomation - Single-step API for one-off operations
  • WeappLauncher - Launch/close WeChat DevTools
  • ConsoleReader - Read and analyze console logs
  • PerformanceMonitor - Collect performance metrics
  • TestScenarios - Pre-built test scenario templates (smoke, navigation, form, UI regression, user journey)

For detailed usage, parameters, and examples of all APIs, see references/api_reference.md.


Script Inventory

| Script | Purpose | |--------|---------| | scripts/weapp_launcher.py | Launch/close WeChat DevTools | | scripts/weapp_automation.py | Core automation engine (batch + single-step) | | scripts/console_reader.py | Console log reading and analysis | | scripts/test_scenarios.py | Pre-defined test scenario templates |