Appium踩坑

发布时间 2023-05-31 16:21:54作者: 来了发发发

1. 重复安装 io.appium.uiautomator2.server 和 io.appium.uiautomator2.server.test
解决方法:
1. caps增加设置 skipServerInstallation:True 注意当设备上没有包时不能这么设置

------------------------------------------------------------------------------------------------------------------------
2. appium报错提示:UiAutomationService android.accessibilityservice.... already registered!
解决方法:
1. 执行:adb shell am force-stop com.github.uiautomator (如果执行一次不行,多尝试几次)
2. (uiautomator为2版本,如果使用1的话,先查一下进程):
adb shell ps | findstr "uiautomator" ,/adb shell ps | find "uiautomator" 找到包名称
adb shell "su -c kill pid"

------------------------------------------------------------------------------------------------------------------------
3. Appium连接手机时报权限错误 Security exception: Permission Denial: starting Intent
原因:desired capacities 中的app activity不是start activity。

解决方案1:问开发要start activity

解决方案2:使用以下adb命令查看手机中activity manager的日志

清掉之前的手机日志:adb logcat -c
在手机端打开被测APP
执行命令:adb logcat -s ActivityManager > D:\log.txt
查看捕获的日志文件D:\log.txt,找到打开APP的操作,如下所示,是一条Info级别的日志
10-25 16:05:41.697 1891 1944 I ActivityManager: Start proc 28394:com.xxxx.xxxxx/u0a397 for pre-top-activity
{com.xxxxx.xxxxx/com.xxxxx.ft_login.view.activity.SplashActivity}
加粗的部分,分别是app package和app activity。这里的app activity就是启动APP时的activity。

更改desired capacities中的app activity,就可以完美启动了