折腾:
【已解决】Mac中用appium的GUI图形界面调试页面元素
期间,对于点击 放大镜🔎 后,出现的 调试界面
点击 Start Session,但是报错:
An unknown server-side error occurred while processing the command. Original error: You must include a platformName capability

因为此处 手机端,已黑屏。貌似调试或session停止了?暂停了?
重新试试。

结果问题依旧。
参考:
需要复制json的Capability才行的
注:前面之所以没去想到,填入参数,是因为刚刚从Python代码中,已经启动并运行了appium,且可以正常启动app(微信),以为是:
此调试界面,是和内部appium的server是相同的,自动会传递当前内部的(Capability的)参数的。
结果现在和后续证实:是需要额外填入参数的。
-》这点上,已经启动appium的server和client的情况下,用GUI界面调试,仍需重新填入参数,和之前的uiautomator2+weditor比,其无需额外参数,直接一个安卓的设备id即可连接,appium显得是使用起来麻烦了些
去试试
{ "platformName": "Android", "deviceName": "crifan Redmi10X", "udid": "orga4pmzee4ts47t", "appPackage": "com.tencent.mm", "appActivity": ".ui.LauncherUI", "noReset": True }

点击 Save as

再点击Start Session

问题依旧。
难道是参数没保存进去?
后记:此处,之所以没注意到json参数有误,主要是因为:
此处窗口大小没有全部最大化,导致JSON Representation的底部的 红色错误提示,被遮挡了,没看到。
后来窗口拉大,高度增加后,才看到json报错了
结果发现真的是:

点击Save报错:
Unexpected token T in JSON at position 190
看来是:True 的T是大写,不支持
改为:
{ "platformName": "Android", "deviceName": "crifan Redmi10X", "udid": "orga4pmzee4ts47t", "appPackage": "com.tencent.mm", "appActivity": ".ui.LauncherUI", "noReset": true }
再点击Save,即可保存了
参数同步到左边,作为多个参数了:

之后再点击Start Session,就可以正常启动appium的调试界面了,而不会报错了。
【总结】
此处,背景是
已启动了appium的server端
已用Python代码,加上Capability参数,启动了client端,且成功打开了当前的app:微信
然后希望用appium的GUI图形界面调试,结果报错:
An unknown server-side error occurred while processing the command. Original error: You must include a platformName capability
原因:没有填入参数
解决办法:
填入参数即可
但要注意+额外说明的是:
- 此处appium的GUI调试界面,要填写的Capability参数,和Python代码中Capability参数,没关系
- 就不会,像我本以为的,appium的server内部,自动填入python代码传递的参数了
- GUI中填写Capability参数时,可以直接一次性写好JSON字符串,放到 JSON Representation中,点击Save,即可自动解析到左边参数列表中
- 注意
- 如果填写的json有错误,会有错误提示的
- 注:GUI窗口要足够大,确保能看到JSON Representation底部的JSON错误提示
- 我开始就是,窗口太小,没看到底部错误提示,而搞不清为何还是报错
- 说明
- Save后,记得Save as一下,可以直接加载,避免每次充分输入参数。
- 正常Save后,第二个Tab:Saved Capability Set 后面会有个数提示,比如 1,2。点击Saved Capability Set,可以看到参数详情。
附上,此处的参数:
{ "platformName": "Android", "deviceName": "crifan Redmi10X", "udid": "orga4pmzee4ts47t", "appPackage": "com.tencent.mm", "appActivity": ".ui.LauncherUI", "noReset": true }
其中:
- json中,不支持Python中的True,要写成小写的 true
转载请注明:在路上 » 【已解决】Appium启动调试界面报错:Original error You must include a platformName capability