app自动化问题点整理
1、配置SDK环境发现adb无法生效:
解决方案:
这个问题一般就是你的环境变量没有配置好,很多同学比较容易出现的点就是win10系统的环境变量配置:
一定要注意打开path添加:%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;这个配置的时候一定要先点击新建再分别在两行创建(win7系统是直接粘贴到path变量值后面即可),并且分号不需要!!!
2、通过adb命令获取前台包名和类名出现下面错误:
解决方案:
在windows环境变量中检查path中是否有%SystemRoot%\system32;%SystemRoot%这个配置,如不存在,添加进行保存即可。
注意:在android 7.0以下可以用此命令进行查询,但是在android 8.0上dumpsys activity的信息已经有变化,不能使用mFocusedActivity
需要使用:
adb shell dumpsys activity | find "mResumedActivity"
3、appium inspector工具开启session出来下面提示:
Error: Activity used to start app doesn't exist or cannot be launched! Make usre it exists and is launchable activity
解决方案:
这种问题一般就是你的appActivity写错,需要确认你对应测试入口Activity是否正确:通过aapt dump badging apk路径得到lunchable-activity对应的类名
4、androidDriver.startActivity方法不存在
解决方案:
将Java Compiler改成1.8,因为startActivity方法在接口中定义成default,这是JDK1.8+的新特性。
5、Hybrid混合应用切换appium中提示:
[MJSONWP] Encountered internal error running command: Error: Could not find package com.android.chrome on the device
解决方案:
Could not find package com.android.chrome on the device测试手机/模拟器中没有安装chrome浏览器,去应用市场下载安装一个即可。
6、微信小程序自动化appium提示:
Error: Failed to start Chromedriver session: An unknown server-side error occurred while processing the command. (Original error: unknown error: known package com.android.chrome does not accept activity/process
解决方案:
java-client的版本切换到5.0.3,自测java-client 5.0.4及以上的版本会报此错误信息,Appium官方确认是selenium的BUG,所以小伙伴们测试微信小程序的时候最好使用5.0.3或者以下的版本。
7、Hybrid混合应用自动化脚本运行出来下面提示:
[Chromedriver] error: No Chromedriver found that can automate Chrome '39.0.0'
解决方案:
1、确定在手机端有安装chrome浏览器
2、chromedriver的版本和webview版本需要对应上
参考链接:https://github.com/appium/appium/blob/master/docs/en/writing-running-appium/web/chromedriver.md
8、DesiredCapability属性deviceName无效问题:
在代码中通过deviceName指定运行的设备会发现无效,Appium有做了说明
deviceName属性在代码中配置了是无效的,但是Appium初始化的时候必须要有,否则会报错,很坑有木有。
9、指定automationName为UIAutomator2,如果有涉及到多设备并发执行,那么每个AppiumServer中UIAutomator2对应的端口都需要配置:
默认UIAutomator2端口为8200,可以自己在代码中指定
desiredCapabilities.setCapability("systemPort", 8202);