折腾:
【已解决】Appium报错:WebDriverException Original error Could not find a connected Android device
期间,对于appium报错:
No connected devices have been detected
很明显是设备没找到。
所以就怀疑之前参数有问题。
之前是:
desired_caps = { # 如果换手机,需要改 deviceName、udid "platformName": "Android", "deviceName": "DIG-AL00", "udid": "DWH9X17226W04404", "appPackage": "com.tencent.mm", "appActivity": ".ui.LauncherUI", "noReset": True }
核心是:
- “deviceName”: “DIG-AL00”,
- “udid”: “DWH9X17226W04404”,
对于udid,则,应该是,看起来是:
adb devices
找到的设备的id,此处的:orga4pmzee4ts47t
但如何找到:deviceName ?
问题变成:
如何找到安卓设备的,appium要求的参数,deviceName?
appium devicename
想起来了,好像是adb devices 加上-l,就可以看到了?
~ adb devices -l List of devices attached orga4pmzee4ts47t device usb:338886656X product:atom model:M2004J7AC device:atom transport_id:14
是有详情了。但是好像没 deviceName?
此处的model的M2004J7AC,就是?
deviceName The kind of mobile device or emulator to use iPhone Simulator, iPad Simulator, iPhone Retina 4-inch, Android Emulator, Galaxy S4, etc.... On iOS, this should be one of the valid devices returned by instruments with instruments -s devices or xctrace with xcrun xctrace list devices (since Xcode 12). On Android this capability is currently ignored, though it remains required.
-》清楚了:
安卓中,实际上是没用的参数。
但(为了逻辑和iOS保持一致)仍是必填参数。
-》所以此处的:
deviceName,随便自己填个,有意义的,用户容易看懂的值,就好了,比如:crifan Redmi10X
填上:
"deviceName": "crifan Redmi10X",
即可。
【总结】
appium的Capability的参数中有个deviceName
对于安卓来说,deviceName的值,随便填,当然最好填一个用户容易看得懂的值最好
比如此处:
"deviceName": "crifan Redmi10X",
具体解释详见: