移动端 E2E 测试怎么在真机上跑?

长孙雯雯 阅读 91

最近用 Appium 做移动端 E2E 测试,模拟器跑得好好的,但一连真机就报错,说找不到设备。我手机已经开了开发者选项和 USB 调试,adb devices 也能看到设备,可测试脚本就是启动不了。

我的 capabilities 是这么配的:

{
  "platformName": "Android",
  "deviceName": "my-phone",
  "app": "/path/to/app.apk",
  "automationName": "UiAutomator2"
}

是不是 deviceName 必须跟 adb 里显示的一模一样?还是说真机还需要额外配置什么权限?

我来解答 赞 8 收藏
二维码
手机扫码查看
2 条解答
慧娟
慧娟 Lv1
遇到这种问题挺常见的,通常有几个地方可以检查一下。

首先,deviceName 不一定要跟 adb devices 显示的一样,不过为了减少混淆,建议保持一致或者用 adb devices 输出的具体设备编号。比如 emulator-5554 或者具体的序列号。

其次,确保你的手机上启用了正确的 USB 调试模式,有时候是普通的 USB 调试,有时候是文件传输模式,具体看你的设备。

还有,可能需要检查一下手机的安全设置,确保允许通过 USB 进行调试,并且允许未知来源的应用安装,特别是在你要安装的 APK 没有签名的情况下。

权限方面,检查一下是否授予了 Appium Server 所需的权限,有时候系统更新后可能会重置这些权限。

最后,确保你的 Appium Server 版本是最新的,有时候版本不兼容也会导致类似问题。

这里有一个小技巧,可以在 capabilities 中添加 "noReset": true,这样可以避免每次启动应用时都重新安装,有时候能解决一些奇怪的问题。

希望这些建议能帮到你,如果还不行,可以尝试重启一下手机和电脑,有时候冷启动能解决一些临时性的问题。
点赞
2026-03-24 11:19
设计师依诺
deviceName 不用跟 adb 里完全一样,但确保 app 的路径对,权限没问题。试试加个 udid 参数,值为 adb devices 显示的设备ID。就这样
点赞
2026-03-20 18:05