真机自动化

小程序自动化除了能够控制开发者工具中的小程序模拟器,也支持通过远程调试控制真机,以达到在真机上进行自动化测试的目的。

运行环境

  • 确保目标机器上的基础库版本为 2.7.3 及以上

使用方式

在编写完测试用例并且在工具模拟器上测试成功之后,假如想要在真机上跑自动化,可以通过以下两种方法实现。

通过 SDK 启动

你可以在测试脚本开头使用 miniProgram.remote 接口启动工具的真机调试功能,调用成功后脚本会在控制台打印二维码。使用目标机器扫码成功连接后,脚本会继续在真机上执行下去。

脚本示例:

  1. const automator = require('miniprogram-automator')
  2. const miniProgram = automator.launch({
  3. cliPath: 'path/to/cli',
  4. projectPath: 'path/to/project',
  5. }).then(async miniProgram => {
  6. await miniProgram.remote() // 扫码登录连接真机,在真机上执行后续测试脚本
  7. const page = await miniProgram.reLaunch('/page/component/index')
  8. await page.waitFor(500)
  9. const element = await page.$('.kind-list-item-hd')
  10. console.log(await element.attribute('class'))
  11. await element.tap()
  12. await miniProgram.close()
  13. })

手工启动

如果工具是打开常驻并且使用 automator.connect 接口进行连接,那么可以先手工启用工具的真机调试功能后再运行测试脚本,这样就可以将在真机上测试小程序了。