本页内容

任务指南

设备与 App 模拟

先选要验证的环境,再按对应步骤操作。

测试移动端视口

通过设备预设设置视口、DPR、User-Agent 和触摸。把示例中的 tabId 替换成目标页。需要系统栏和 WebView 外壳时启用设备外壳。时区可通过 set_timezone 单独设置。

Shell
mearl set_device_emulation --payload '{"tabId":12345,"enabled":true,"preset":"iphone-17-pro"}'
在 iPhone 17 Pro 预设下打开示例订单列表,可以同时核对手机外壳、状态栏和移动端布局。

开启 App WebView 端模拟

端模拟配置由能力包提供。查询目标浏览器的端模拟列表,确认可用 ID、User-Agent、JSBridge 行为和容器设置。桥接回包模拟网页能感知的行为,真实原生登录或支付依赖另行可用的能力。

  1. 在普通浏览器中打开待验证的网页,记录布局和可用操作。
  2. 安装微信端模拟并选择「微信内网页」,刷新页面,检查依赖 User-Agent 或 JSBridge 的行为。
  3. 开启设备外壳后,可从底部手势条切换到「微信小程序内网页」。Agent 可通过 get_capabilities 获取配置 ID,再用 set_app_profile 切换。
Shell
mearl set_app_profile --help
普通浏览器:页面底部显示「加入购物车」和「立即购买」。
微信小程序内网页:底部只显示「立即购买」。

微信小程序 Skill 支持运行原生工程,以及 Taro、uni-app 等框架编译出的微信产物。可以在预览中切换机型、检查页面和页面栈,也可以模拟微信 API 和接口回包。每次运行编译一次并打开本地预览,修改后再次运行即可更新。验证微信里的网页时,使用微信 H5 端模拟。

  1. 以 ChineseBQB-weapp 为例,安装项目依赖后运行 npm run build:weapp,生成 dist。原生小程序可以直接传入项目目录。
  2. 在项目根目录执行下方的安装和启动命令。通过 Chrome 扩展连接时,按运行指南开启文件网址访问和用户脚本。
  3. 在预览里打开一个表情包,确认页面跳转且表情图正常渲染。
Shell
npx @mearl/setup plugin install mearlhq/profile-wechat --github --skill wechat-miniprogram
mearl wxa run ./dist
ChineseBQB-weapp 的表情包目录,运行在 Mearl 的 iPhone 17 Pro 预设中。
跳转到小程序详情页后,猫咪表情包的图片网格正常渲染。

让环境在需要时首屏生效

新页面首次加载就需要环境时,在 tab_open 中传入 emulation 或 appProfile。已有页可直接应用对应设置,并以回执核对视口和端模拟环境。需要恢复标签页时,显式清除模拟配置。

  1. 验收移动端结算页时,分别在桌面视口和目标设备预设下走同一套步骤,截图记录布局出现差异的位置。
  2. 如果问题只在 App 里出现,在导航前开启对应的端模拟,检查页面用来判断环境的 User-Agent 或 JSBridge 行为。
  3. 修复后跑同一套步骤,对照截图和请求结果。

使用 mearl-profile-creator Skill 新建或更新 App WebView 端模拟。提供已有配置、客户端行为样本或相关文档,并说明 H5 页面依赖哪些行为。

  1. 定义 User-Agent 和版本。需要实现 JSBridge 回调或容器交互时,添加页面运行时。
  2. 构建浏览器能力包,在 contributions.appProfiles 中列出配置。由 Preset 选择实现时,添加 App ID 映射。
  3. 在测试浏览器安装能力包,用 mearl get_capabilities 查询 ID,再带配置打开新标签页,验证首屏行为。
Shell
npx skills add https://github.com/mearlhq/mearl --skill mearl-profile-creator --global

微信小程序 Skill 使用 wxa-runner(MIT)。示例截图来自 F-loat 的 ChineseBQB-weapp(MIT)。腾讯微信基础库作为独立依赖,适用其自身条款。