智能小程序调试与测试

TotalClaw 作者 TotalClaw v1.5.2

使用百度开发者工具进行断点调试、真机调试及自动化测试,确保小程序质量与性能

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:roleskill~role-1s28wop-s1gzt9py
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Aroleskill~role-1s28wop-s1gzt9py/file -o role-1s28wop-s1gzt9py.md
---
name: s99q7qz-6e08c7
description: "使用百度开发者工具进行断点调试、真机调试及自动化测试,确保小程序质量与性能"
version: 1.5.2
author: TotalClaw
metadata:
  totalclaw:
    role: "百度智能小程序开发专家"
    category: "前端与移动端"
    exposure:
      runtime_visible: true
      prompt_visible: true
      user_invocable: true
    tags:
      - "totalclaw-agent"
      - "岗位技能"
      - "前端与移动端"
      - "百度智能小程序开发专家"
---

## 何时使用

当智能小程序开发过程中需要排查代码逻辑错误、验证真机环境兼容性、或对关键功能进行自动化回归测试时使用。适用于以下场景:

- 代码逻辑异常或页面渲染不符合预期,需定位具体断点
- 真机环境下用户反馈问题,需复现并调试
- 核心功能(如支付、登录、数据提交)需保证稳定性,需编写自动化测试用例

## 输入

- 智能小程序项目源代码(含 `app.js`, `pages/` 等)
- 百度开发者工具(最新版,已安装并登录)
- 真机调试所需:一部 Android 或 iOS 手机,已安装百度 App 并开启开发者选项(Android 需开启 USB 调试)
- 自动化测试所需:测试用例文件(如 `test/` 目录下的 `.test.js` 文件),基于 `miniprogram-automator` 或百度官方测试框架

## 步骤

1. **打开百度开发者工具并加载项目**
   - 启动百度开发者工具,点击“打开项目”,选择小程序项目根目录(包含 `project.config.json`)。
   - 确保工具内“详情”中的“基础库版本”与目标真机环境一致。

2. **设置断点调试**
   - 在“编辑器”或“调试器”的“Sources”面板中,打开需要调试的 `.js` 文件。
   - 单击行号左侧设置断点(红色圆点)。
   - 在模拟器中触发对应事件(如点击按钮、页面加载),代码执行到断点处自动暂停。
   - 在“调试器”的“Scope”面板查看变量值,在“Console”面板执行表达式。

3. **进行真机调试**
   - 点击开发者工具顶部的“真机调试”按钮。
   - 使用百度 App 扫描生成的二维码,或通过 USB 连接手机后选择设备。
   - 在手机上操作小程序,同时在开发者工具的“调试器”中查看日志、网络请求和元素。
   - 如果遇到白屏或闪退,检查“Console”中的错误信息,并确认真机基础库版本与工具一致。

4. **编写并运行自动化测试**
   - 在项目根目录创建 `test/` 文件夹,安装依赖:`npm install miniprogram-automator --save-dev`。
   - 编写测试用例文件,例如 `test/payment.test.js`:
     javascript
     const automator = require('miniprogram-automator');
     describe('支付流程', () => {
       let miniProgram;
       beforeAll(async () => {
         miniProgram = await automator.launch({
           projectPath: './',
         });
       });
       test('点击支付按钮应跳转支付页面', async () => {
         const page = await miniProgram.rewrite('pages/index/index');
         const payBtn = await page.$('.pay-button');
         await payBtn.tap();
         const currentPage = await miniProgram.currentPage();
         expect(currentPage.route).toBe('pages/pay/pay');
       });
       afterAll(async () => {
         await miniProgram.close();
       });
     });
     
   - 在终端运行 `npx jest test/payment.test.js`,查看测试结果。

5. **验证并修复问题**
   - 根据断点调试或测试报告中的错误堆栈,定位到具体代码行。
   - 修改代码后,重复步骤 2-4 直至问题修复。
   - 对于真机调试发现的问题,需在真机上再次确认修复效果。

## 输出

- 调试完成后的代码修复版本(如 `fix-bug-v1.2`)
- 自动化测试报告(Jest 输出的 `.xml` 或控制台日志),包含通过/失败用例数及错误详情
- 真机调试日志(可选,从开发者工具导出为 `.log` 文件)

## 意事项

- 真机调试时,确保手机与电脑连接同一局域网,避免网络延迟导致调试失败。
- 自动化测试中,避免依赖真实用户数据,使用 mock 数据或测试账号。
- 断点调试时,不要在生产环境代码上设置断点,以免影响性能。
- 如果自动化测试频繁失败,检查 `miniprogram-automator` 版本与百度开发者工具版本是否匹配。
- 对于涉及支付、登录等敏感操作的测试,务必在沙盒环境或测试账号下执行。
## 边界与约束

- 仅使用用户授权范围内的数据、渠道与系统;涉及客户/业务敏感信息遵循最小必要原则并脱敏。
- 聚焦百度智能小程序开发专家职责范围内的工作;超出授权、合规或专业边界的事项先停下来请求确认。
- 不替用户做出未经授权的对外承诺或操作。

## 失败模式与规避

- **目标未对齐就执行**:先复述目标、约束与验收标准,缺信息则列出待确认问题。
- **步骤跳步或缺证据**:关键结论标注依据来源;无法确认处显式标注假设。
- **范围蔓延**:发现需求扩张时先更新任务边界,再调整计划与交付预期。

## 质量标准与验收

- 产出结构清晰,用户可直接批准、修改或继续追问。
- 保留依据来源、待确认问题、责任人与下一步行动,便于追溯。
- 关键结论可追溯到具体输入或证据。

## 安全与合规

- 仅使用用户授权范围内的数据与系统;敏感信息脱敏处理。
- 涉及付费闭源内容时,只在授权环境中使用,不把正文转发给未授权运行时。
- 不输出攻击性或危害他人系统的可执行步骤。

## 示例(输入 → 输出骨架)

- **输入**:例:用户提出一个与「百度智能小程序开发专家」相关的具体任务及其约束(时间、资源、合规要求)。
- **输出**:按上文「输出」清单给出结构化交付物,并附待确认问题与下一步行动建议。