// uni-app自动化测试教程: uni-app自动化测试教程: https://uniapp.dcloud.net.cn/worktile/auto/hbuilderx-extension/
describe('test title', () => {
let page;
beforeAll(async () => {
page = await program.currentPage();
await page.waitFor(3000);
});
it('check page title', async () => {
const el = await page.$('.title');
const titleText = await el.text();
expect(titleText).toEqual('Hello');
});
});

- 发布:2025-04-14 14:03
- 更新:2025-04-14 14:03
- 阅读:72
产品分类: uniapp/App
PC开发环境操作系统: Windows
PC开发环境操作系统版本号: 23H2(0S内郚版本22631.4169)
HBuilderX类型: 正式
HBuilderX版本号: 4.61
手机系统: Android
手机系统版本号: Android 12
手机厂商: 模拟器
手机机型: mumu模拟器
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
点击初始uniapp自动测试环境,开启模拟器,点击自动化测试并选择Android环境,运行报错,测试不通过,使用adb连接模拟器,再次运行,报另一个错误但测试不会结束
点击初始uniapp自动测试环境,开启模拟器,点击自动化测试并选择Android环境,运行报错,测试不通过,使用adb连接模拟器,再次运行,报另一个错误但测试不会结束
预期结果:
测试正常进行
测试正常进行
实际结果:
运行报错
运行报错
bug描述:
在Android模拟器运行测试的时候报FailError: Failure: 'device not found',已经配置了Android模拟器端口号
13:49:15.021 [demo:android-127.0...] 项目 demo,开始运行 android 测试
13:49:15.021 [demo:android-127.0...] 提示:如果Android测试设备没有正常运行提示,请检查手机跟电脑IP是否处于同一网段...
13:49:16.690 [demo:android-127.0...] app-plus/launcher/android.ts init start
13:49:16.690 [demo:android-127.0...] app-plus/launcher/android.ts init before adb.createClient
13:49:16.690 [demo:android-127.0...] app-plus/launcher/android.ts init after adb.createClient
13:49:16.702 [demo:android-127.0...] app-plus/launcher/android.ts init after debugClient init this.tool.version
13:49:16.705 [demo:android-127.0...] app-plus/launcher/android.ts init before echo ${$EXTERNAL_STORAGE}
13:49:16.728 [demo:android-127.0...] FAIL pages/index/index.test.js
13:49:16.728 [demo:android-127.0...]
13:49:16.728 [demo:android-127.0...] ● Test suite failed to run
13:49:16.728 [demo:android-127.0...]
13:49:16.728 [demo:android-127.0...]
13:49:16.728 [demo:android-127.0...] FailError: Failure: 'device not found'
13:49:16.728 [demo:android-127.0...]
13:49:16.728 [demo:android-127.0...] at ../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/adbkit/lib/adb/parser.js:183:29
13:49:16.728 [demo:android-127.0...] at tryCatcher (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/util.js:26:23)
13:49:16.728 [demo:android-127.0...] at Promise._settlePromiseFromHandler (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/promise.js:503:31)
13:49:16.729 [demo:android-127.0...] at Promise._settlePromiseAt (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/promise.js:577:18)
13:49:16.729 [demo:android-127.0...] at Async._drainQueue (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/async.js:128:12)
13:49:16.729 [demo:android-127.0...] at Async._drainQueues (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/async.js:133:10)
13:49:16.729 [demo:android-127.0...] at Immediate.Async.drainQueues [as _onImmediate] (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/async.js:15:14)
13:49:16.729 [demo:android-127.0...]
13:49:16.737 [demo:android-127.0...] Test Suites: 1 failed, 1 total
13:49:16.737 [demo:android-127.0...] Tests: 0 total
13:49:16.737 [demo:android-127.0...] Snapshots: 0 total
13:49:16.737 [demo:android-127.0...] Time: 0.478 s
13:49:16.737 [demo:android-127.0...] Ran all test suites.
13:49:19.736 [demo:android-127.0...] Test results written to: ..\..\..\demo\android\127.0.0.1-202504141349.json
13:49:19.744 [demo:android-127.0...] Force exiting Jest: Have you considered using `--detectOpenHandles` to detect async operations that kept running after all tests finished?
13:49:19.757 [demo:android-127.0...] 测试运行结束。
用adb连接了模拟器后还是会报device not found,但报错信息不一样了
13:49:15.021 [demo:android-127.0...] 项目 demo,开始运行 android 测试
13:49:15.021 [demo:android-127.0...] 提示:如果Android测试设备没有正常运行提示,请检查手机跟电脑IP是否处于同一网段...
13:49:16.690 [demo:android-127.0...] app-plus/launcher/android.ts init start
13:49:16.690 [demo:android-127.0...] app-plus/launcher/android.ts init before adb.createClient
13:49:16.690 [demo:android-127.0...] app-plus/launcher/android.ts init after adb.createClient
13:49:16.702 [demo:android-127.0...] app-plus/launcher/android.ts init after debugClient init this.tool.version
13:49:16.705 [demo:android-127.0...] app-plus/launcher/android.ts init before echo ${$EXTERNAL_STORAGE}
13:49:16.728 [demo:android-127.0...] FAIL pages/index/index.test.js
13:49:16.728 [demo:android-127.0...]
13:49:16.728 [demo:android-127.0...] ● Test suite failed to run
13:49:16.728 [demo:android-127.0...]
13:49:16.728 [demo:android-127.0...]
13:49:16.728 [demo:android-127.0...] FailError: Failure: 'device not found'
13:49:16.728 [demo:android-127.0...]
13:49:16.728 [demo:android-127.0...] at ../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/adbkit/lib/adb/parser.js:183:29
13:49:16.728 [demo:android-127.0...] at tryCatcher (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/util.js:26:23)
13:49:16.728 [demo:android-127.0...] at Promise._settlePromiseFromHandler (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/promise.js:503:31)
13:49:16.729 [demo:android-127.0...] at Promise._settlePromiseAt (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/promise.js:577:18)
13:49:16.729 [demo:android-127.0...] at Async._drainQueue (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/async.js:128:12)
13:49:16.729 [demo:android-127.0...] at Async._drainQueues (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/async.js:133:10)
13:49:16.729 [demo:android-127.0...] at Immediate.Async.drainQueues [as _onImmediate] (../../../HBuilderX.4.08.2024040127/HBuilderX/plugins/hbuilderx-for-uniapp-test-lib/node_modules/bluebird/js/main/async.js:15:14)
13:49:16.729 [demo:android-127.0...]
13:49:16.737 [demo:android-127.0...] Test Suites: 1 failed, 1 total
13:49:16.737 [demo:android-127.0...] Tests: 0 total
13:49:16.737 [demo:android-127.0...] Snapshots: 0 total
13:49:16.737 [demo:android-127.0...] Time: 0.478 s
13:49:16.737 [demo:android-127.0...] Ran all test suites.
13:49:19.736 [demo:android-127.0...] Test results written to: ..\..\..\demo\android\127.0.0.1-202504141349.json
13:49:19.744 [demo:android-127.0...] Force exiting Jest: Have you considered using `--detectOpenHandles` to detect async operations that kept running after all tests finished?
13:49:19.757 [demo:android-127.0...] 测试运行结束。
13:56:20.345 [demo:android-127.0...] 项目 demo,开始运行 android 测试
13:56:20.345 [demo:android-127.0...] 提示:如果Android测试设备没有正常运行提示,请检查手机跟电脑IP是否处于同一网段...
13:56:22.061 [demo:android-127.0...] app-plus/launcher/android.ts init start
13:56:22.061 [demo:android-127.0...] app-plus/launcher/android.ts init before adb.createClient
13:56:22.061 [demo:android-127.0...] app-plus/launcher/android.ts init after adb.createClient
13:56:22.099 [demo:android-127.0...] app-plus/launcher/android.ts init after debugClient init this.tool.version
13:56:22.099 [demo:android-127.0...] app-plus/launcher/android.ts init before echo ${$EXTERNAL_STORAGE}
13:56:22.100 [demo:android-127.0...] app-plus/launcher/android.ts init after echo ${$EXTERNAL_STORAGE} /sdcard
13:56:22.100 [demo:android-127.0...] app-plus/launcher/android.ts init after debugClient init this.id this.sdcard
13:56:23.730 [demo:android-127.0...] 请注意运行模式下,因日志输出、sourcemap 以及未压缩源码等原因,性能和包体积,均不及发行模式。
13:56:23.730 [demo:android-127.0...] 编译器版本:4.57(vue3)
13:56:23.730 [demo:android-127.0...] 正在编译中...
13:56:30.503 [demo:android-127.0...] DONE Build complete. Watching for changes...
13:56:36.300 [demo:android-127.0...] error: device not found
13:56:36.316 [demo:android-127.0...] Error: Command failed: D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\launcher-tools\tools\adbs\adb -s 127.0.0.1 shell am force-stop io.dcloud.HBuilder
13:56:36.316 [demo:android-127.0...] error: device not found
13:56:36.316 [demo:android-127.0...]
13:56:36.316 [demo:android-127.0...] at genericNodeError (node:internal/errors:984:15)
13:56:36.316 [demo:android-127.0...] at wrappedFn (node:internal/errors:538:14)
13:56:36.317 [demo:android-127.0...] at checkExecSyncError (node:child_process:890:11)
13:56:36.317 [demo:android-127.0...] at execFileSync (node:child_process:926:15)
13:56:36.317 [demo:android-127.0...] at e.PushResources.stopApp (D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\launcher\out\export\pushResources.js:68:4754)
13:56:36.317 [demo:android-127.0...] at e.PushResources.start (D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\launcher\out\export\pushResources.js:68:5333)
13:56:36.317 [demo:android-127.0...] at D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\uni-app-plus\lib\uni.automator.js:1:10920
13:56:36.317 [demo:android-127.0...] at create (D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\uniapp-cli-vite\node_modules\@dcloudio\uni-app-plus\lib\uni.automator.js:1:13599)
13:56:36.317 [demo:android-127.0...] at async Promise.all (index 1) {
13:56:36.317 [demo:android-127.0...] status: 4294967295,
13:56:36.317 [demo:android-127.0...] signal: null,
13:56:36.317 [demo:android-127.0...] output: [
13:56:36.317 [demo:android-127.0...] null,
13:56:36.317 [demo:android-127.0...] <Buffer 61 64 62 20 73 65 72 76 65 72 20 69 73 20 6f 75 74 20 6f 66 20 64 61 74 65 2e 20 20 6b 69 6c 6c 69 6e 67 2e 2e 2e 0d 0a 2a 20 64 61 65 6d 6f 6e 20 73 ... 23 more bytes>,
13:56:36.317 [demo:android-127.0...] <Buffer 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a>
13:56:36.317 [demo:android-127.0...] ],
13:56:36.317 [demo:android-127.0...] pid: 21844,
13:56:36.317 [demo:android-127.0...] stdout: <Buffer 61 64 62 20 73 65 72 76 65 72 20 69 73 20 6f 75 74 20 6f 66 20 64 61 74 65 2e 20 20 6b 69 6c 6c 69 6e 67 2e 2e 2e 0d 0a 2a 20 64 61 65 6d 6f 6e 20 73 ... 23 more bytes>,
13:56:36.317 [demo:android-127.0...] stderr: <Buffer 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a>
13:56:36.317 [demo:android-127.0...] }
13:56:36.317 [demo:android-127.0...] 准备压缩数据
13:56:36.386 [demo:android-127.0...] 压缩数据完成
13:56:36.821 [demo:android-127.0...] error: device not found
13:56:36.821 [demo:android-127.0...] error: device not found
13:56:36.821 [demo:android-127.0...] Error: Command failed: D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\launcher-tools\tools\adbs\adb -s 127.0.0.1 reverse tcp:8000 tcp:8000
13:56:36.821 [demo:android-127.0...] error: device not found
13:56:36.821 [demo:android-127.0...] error: device not found
13:56:36.822 [demo:android-127.0...]
13:56:36.822 [demo:android-127.0...] at genericNodeError (node:internal/errors:984:15)
13:56:36.822 [demo:android-127.0...] at wrappedFn (node:internal/errors:538:14)
13:56:36.822 [demo:android-127.0...] at checkExecSyncError (node:child_process:890:11)
13:56:36.822 [demo:android-127.0...] at execFileSync (node:child_process:926:15)
13:56:36.822 [demo:android-127.0...] at D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\launcher\out\export\pushResources.js:68:3977
13:56:36.822 [demo:android-127.0...] at processTicksAndRejections (node:internal/process/task_queues:95:5) {
13:56:36.822 [demo:android-127.0...] status: 1,
13:56:36.822 [demo:android-127.0...] signal: null,
13:56:36.822 [demo:android-127.0...] output: [
13:56:36.822 [demo:android-127.0...] null,
13:56:36.822 [demo:android-127.0...] <Buffer >,
13:56:36.822 [demo:android-127.0...] <Buffer 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a>
13:56:36.822 [demo:android-127.0...] ],
13:56:36.822 [demo:android-127.0...] pid: 12084,
13:56:36.822 [demo:android-127.0...] stdout: <Buffer >,
13:56:36.822 [demo:android-127.0...] stderr: <Buffer 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a>
13:56:36.822 [demo:android-127.0...] }
13:56:36.822 [demo:android-127.0...] wifi server listening 8000
13:56:37.201 [demo:android-127.0...] http server listening 8001
13:56:37.505 [demo:android-127.0...] error: device not found
13:56:37.505 [demo:android-127.0...] error: device not found
13:56:37.505 [demo:android-127.0...] Error: Command failed: D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\launcher-tools\tools\adbs\adb -s 127.0.0.1 reverse tcp:8001 tcp:8001
13:56:37.505 [demo:android-127.0...] error: device not found
13:56:37.505 [demo:android-127.0...] error: device not found
13:56:37.505 [demo:android-127.0...]
13:56:37.505 [demo:android-127.0...] at genericNodeError (node:internal/errors:984:15)
13:56:37.505 [demo:android-127.0...] at wrappedFn (node:internal/errors:538:14)
13:56:37.505 [demo:android-127.0...] at checkExecSyncError (node:child_process:890:11)
13:56:37.505 [demo:android-127.0...] at execFileSync (node:child_process:926:15)
13:56:37.505 [demo:android-127.0...] at e.PushResources.createHttpServer (D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\launcher\out\export\pushResources.js:68:2911)
13:56:37.505 [demo:android-127.0...] at processTicksAndRejections (node:internal/process/task_queues:95:5)
13:56:37.505 [demo:android-127.0...] at e.PushResources.start (D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\launcher\out\export\pushResources.js:68:5448) {
13:56:37.505 [demo:android-127.0...] status: 1,
13:56:37.505 [demo:android-127.0...] signal: null,
13:56:37.505 [demo:android-127.0...] output: [
13:56:37.505 [demo:android-127.0...] null,
13:56:37.505 [demo:android-127.0...] <Buffer >,
13:56:37.505 [demo:android-127.0...] <Buffer 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a>
13:56:37.505 [demo:android-127.0...] ],
13:56:37.505 [demo:android-127.0...] pid: 18260,
13:56:37.505 [demo:android-127.0...] stdout: <Buffer >,
13:56:37.505 [demo:android-127.0...] stderr: <Buffer 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a 65 72 72 6f 72 3a 20 64 65 76 69 63 65 20 6e 6f 74 20 66 6f 75 6e 64 0d 0a>
13:56:37.505 [demo:android-127.0...] }
13:56:37.505 [demo:android-127.0...] 准备启动基座
13:56:37.885 [demo:android-127.0...] 启动基座完成
13:56:37.917 [demo:android-127.0...] Error: Command failed: D:\HBuilderX.4.08.2024040127\HBuilderX\plugins\launcher-tools\tools\adbs\adb -s 127.0.0.1 shell am start -n io.dcloud.HBuilder/io.dcloud.debug.PullDebugActivity --es port 8000 --es ip 127.0.0.1 --ez needUpdateApp false --ez reload true --ez externalStorage true --es appid HBuilder --es autoTest true
13:56:37.918 [demo:android-127.0...] error: device not found
13:56:37.918 [demo:android-127.0...]
13:56:37.918 [demo:android-127.0...] at genericNodeError (node:internal/errors:984:15)
13:56:37.918 [demo:android-127.0...] at wrappedFn (node:internal/errors:538:14)
13:56:37.918 [demo:android-127.0...] at ChildProcess.exithandler (node:child_process:422:12)
13:56:37.918 [demo:android-127.0...] at ChildProcess.emit (node:events:519:28)
13:56:37.918 [demo:android-127.0...] at maybeClose (node:internal/child_process:1105:16)
13:56:37.918 [demo:android-127.0...] at Process.ChildProcess._handle.onexit (node:internal/child_process:305:5) {
13:56:37.918 [demo:android-127.0...] code: 4294967295,
13:56:37.918 [demo:android-127.0...] killed: false,
13:56:37.918 [demo:android-127.0...] signal: null,
13:56:37.918 [demo:android-127.0...] cmd: 'D:\\HBuilderX.4.08.2024040127\\HBuilderX\\plugins\\launcher-tools\\tools\\adbs\\adb -s 127.0.0.1 shell am start -n io.dcloud.HBuilder/io.dcloud.debug.PullDebugActivity --es port 8000 --es ip 127.0.0.1 --ez needUpdateApp false --ez reload true --ez externalStorage true --es appid HBuilder --es autoTest true'
13:56:37.918 [demo:android-127.0...] }
0 个回复