Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

【开源自荐】wxa-runner:在浏览器里用微信官方基础库运行小程序,支持 Playwright 无头测试

Đang mở
#174 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
1/5
Thời gian dự kiến
Dưới một giờ
Mức phù hợp với người mới
15/100
Loại issue
Tài liệu
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Sôi nổi
Công nghệ
javascript, playwright, typescript
Lĩnh vực
content

Hướng nghiên cứu

This is a project recommendation, not a request for a change, and the payload names no files or tests in the weekly repository. Read the issue and the linked wxa-runner project description to understand the submission; there is no completion criterion for a code contribution stated here.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

项目地址:https://github.com/open-wxa/wxa-runner

我是项目作者。wxa-runner 是一个开源(MIT)命令行工具,可以在普通浏览器里运行微信小程序,用于本地调试和 E2E 自动化测试。

它不把小程序转成 H5,而是直接加载微信官方的基础库和编译器,自己只实现微信客户端的「原生层」:消息桥、页面栈、原生 API,以及导航栏、tabBar、弹窗这些原生界面。渲染、组件、setData、生命周期都由官方代码完成,行为和开发者工具一致。

在小程序目录(或 uni-app / Taro 编译出的 mp-weixin 目录)里一行启动:

npx wxa-runner dev . --open

wxa-runner:浏览器里运行小程序,旁边是 Chrome DevTools

能做什么
  • AI Agent 可以直接操作:Claude Code、Codex 这类 Agent 最擅长的就是操作浏览器。小程序跑在浏览器里,它们用现成的浏览器能力就能点页面、看 DOM、读控制台和网络请求、写 Playwright 测试,不用为小程序额外配置开发者工具的自动化端口
  • 用 Chrome DevTools 调试:打断点、看网络请求和 DOM,调用栈停在业务代码上,不会掉进基础库
  • Playwright 无头测试:直接在浏览器里跑 E2E,不用远程控制开发者工具,CI 里没装开发者工具也能跑
  • 跳过登录:在 wxa.setup.ts 里预置 storage、mock 原生 API、拦截 wx.request,不用改业务代码
  • 直接打开任意页面:地址加上 ?path=pages/detail/detail&id=1 即可
  • 热更新:改页面的 wxml、js、wxss 不刷新页面,页面栈和全局状态都保留

测试写起来是这样:

test('提交后跳转到结果页', async ({ miniProgram }) => {
  await miniProgram.mock('login', { code: 'test_code' });
  await miniProgram.open('pages/form/form');
  await miniProgram.current.locator('#submit').click();

  await expect(miniProgram).toHavePath('pages/result/result');
  await expect(miniProgram).toHavePageData({ status: 'ok' });
});
当前边界
  • 不替代开发者工具:预览、上传、真机调试仍然要用开发者工具
  • 不支持蓝牙等设备能力,也不支持插件、分包异步化和 Worker
  • 已在 uni-app(Vue 3)真实项目上验证,基础库验证过 2.32.3 到 3.8.8 之间的多个版本

欢迎试用。遇到跑不起来的小程序,请到 Issue 里反馈。

Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
1.9k
Fork
72
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của OpenGithubs/weekly

Tất cả issue của OpenGithubs/weekly

Issue tương tự

Thêm issue về Content

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.