Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

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

Aperta
#174 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
1/5
Tempo stimato
Meno di un'ora
Idoneità per principianti
15/100
Tipo di issue
Documentazione
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
javascript, playwright, typescript
Ambito
content

Direzione di ricerca

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.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

项目地址: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 里反馈。

Lingua principale
Nessun dato sulla lingua
Stelle
1.9k
Fork
72
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di OpenGithubs/weekly

Tutte le issue di OpenGithubs/weekly

Issue simili

Altre issue su Content

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.