移动端 E2E 测试怎么在真机上跑?
最近用 Appium 做移动端 E2E 测试,模拟器跑得好好的,但一连真机就报错,说找不到设备。我手机已经开了开发者选项和 USB 调试,adb devices 也能看到设备,可测试脚本就是启动不了。
我的 capabilities 是这么配的:
{
"platformName": "Android",
"deviceName": "my-phone",
"app": "/path/to/app.apk",
"automationName": "UiAutomator2"
}
是不是 deviceName 必须跟 adb 里显示的一模一样?还是说真机还需要额外配置什么权限?
首先,
deviceName不一定要跟adb devices显示的一样,不过为了减少混淆,建议保持一致或者用adb devices输出的具体设备编号。比如emulator-5554或者具体的序列号。其次,确保你的手机上启用了正确的 USB 调试模式,有时候是普通的 USB 调试,有时候是文件传输模式,具体看你的设备。
还有,可能需要检查一下手机的安全设置,确保允许通过 USB 进行调试,并且允许未知来源的应用安装,特别是在你要安装的 APK 没有签名的情况下。
权限方面,检查一下是否授予了 Appium Server 所需的权限,有时候系统更新后可能会重置这些权限。
最后,确保你的 Appium Server 版本是最新的,有时候版本不兼容也会导致类似问题。
这里有一个小技巧,可以在 capabilities 中添加
"noReset": true,这样可以避免每次启动应用时都重新安装,有时候能解决一些奇怪的问题。希望这些建议能帮到你,如果还不行,可以尝试重启一下手机和电脑,有时候冷启动能解决一些临时性的问题。