【开源自荐】wxa-runner:在浏览器里用微信官方基础库运行小程序,支持 Playwright 无头测试
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 1/5
- Tiempo estimado
- Menos de una hora
- Aptitud para principiantes
- 15/100
- Tipo de issue
- Documentación
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- javascript, playwright, typescript
- Área
- content
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
项目地址: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

能做什么
- 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 里反馈。
- Lenguaje dominante
- Sin datos de lenguaje
- Estrellas
- 1.9k
- Forks
- 72
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de OpenGithubs/weekly
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
OpenGithubs/weekly#157 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
OpenGithubs/weekly#106 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 15/100
OpenGithubs/weekly#175 ·
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 38/100
OpenGithubs/weekly#173 ·
-
【开源自荐】LightRead 轻阅:本地优先的多格式阅读器Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 12/100
OpenGithubs/weekly#172 ·
Todos los issues de OpenGithubs/weekly
Issues similares
-
Dificultad 1/5 Menos de una hora Aptitud para principiantes 76/100
thunderbird/thunderbird-website#1342 ·
Los mantenedores suelen responder en 1 día
-
beginner-friendly category:fixtures community enhancement first-timers-only good first issue hacktoberfest help wanted low hanging fruit micro-contribution type: task up-for-grabs
Dificultad 1/5 Menos de una hora Aptitud para principiantes 85/100
Berserk-hub150/skillhawk#229 · 1 comentario ·
Los mantenedores suelen responder en 8 días
-
community first-timers-only good first issue hacktoberfest help wanted low hanging fruit up-for-grabs
Dificultad 1/5 1-3 horas Aptitud para principiantes 60/100
lingdojo/kana-dojo#32859 · 1 comentario · 5 reacciones ·
Los mantenedores suelen responder en 1 día
-
beige.zoneAbiertobuilt-with-eleventy
Dificultad 1/5 Menos de una hora Aptitud para principiantes 92/100
11ty/11ty-community#1068 ·
-
[Server Submission]: TruthSpineAbierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
cline/mcp-marketplace#3140 ·