在appium的使用过程中,经常出现也被问到一些问题,总结一下,方便大家“对号入座”吧~~~
1. “A new session could not be created.(Original error:)”...
原因:通常,出现这种问题的原因是,由于appium server还没有断开时,你又再次执行脚本了,所以报错。
方法:断开appium server,再启动
2.环境变量问题:ANDROID_HOME is set but does not exist on the file system...
方法:去掉分号
3.环境问题:"java -version" failed...Error: spawn ENOENT
原因:node版本太低
方法:升级了一下node,就好了
4.启动了错误的activity
原因:起始activity不对
方法:在CMD命令行执行如下命令,查看启动的activity名字(由于是真机,无法用HierarchyViewer.bat查看。所以采用命令行方式)
aapt d badging <xxxx.apk> | findstr "name launch-activity"
用这个命令会更好:
aapt d badging <xxxx.apk> | findstr "package launchable-activity"
*** 注意:这里需要根据自己的apk所在路径和名字修改
可能出现如下情况:
方法:从sdk\build-tools目录下把aapt.exe这个文件复制到tools目录下
5.“Failed to start an Appium session.”...
排错步骤:
1) 检查C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-adb\jars\sign.jar是否存在
结果是:存在
2) 在命令行中执行如下语句
java -jar "C:\Program Files (x86)\Appium\node_modules\appium\node_modules\appium-adb\jars\sign.jar" C:\<XXX.apk> --override"
结果是:执行报错
3) 检查原代码。出现两个capabilities对象 ---- 结果:改成一个
4) 增加capabilities.setCapability("noSign","True");
原因:
1) 代码中出现了两个capabilities实例
2) 没有增加不对APK进行重签名的代码