局外人123
局外人123
  • 发布:2025-04-14 14:03
  • 更新:2025-04-14 14:03
  • 阅读:72

【报Bug】自动化测试时,运行在Android模拟器时报错

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: 23H2(0S内郚版本22631.4169)

HBuilderX类型: 正式

HBuilderX版本号: 4.61

手机系统: Android

手机系统版本号: Android 12

手机厂商: 模拟器

手机机型: mumu模拟器

页面类型: vue

vue版本: vue3

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
// 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');  
    });  

});

操作步骤:

点击初始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...] }  
2025-04-14 14:03 负责人:无 分享
已邀请:

要回复问题请先登录注册