真机跑appium遇到的问题
一直用模拟器跑appium,想试试真机。
appium-server版本:1.4.*
appium-desktop版本:1.9.1
手机:小米8
夜神模拟器
最开始用appium-server,输入adb devices报错
adb server version (31) doesn't match this client (40)
经排查,adb版本为31,夜神nox_adb版本为40
一开始将adk的adb.exe替换nox_adb.exe,再重启模拟器,问题解决;
第二天,又报错adb server version (36) doesn't match this client (40)
解决:下载40版本的adb,将下载下来的整个文件夹替换原有的
40的链接 https://share.weiyun.com/5lQnQFy
检查,adb的版本为40,替换成功,错误仍然存在
后经人提示查看5037端口被360手机助手占用,卸载360手机助手,问题解决。
appium-server估计是版本太老,也不再维护,跑真机的时候报错
每次执行的时候都会提示安装Unlock、Setting、Android Input Manager,导致自动化无法继续下去
也有对应的解决方法,修改源码,链接如下:
https://blog.****.net/seaker_/article/details/80626358
后看到一篇帖子,故转而用新版本appium-desktop,因新版本已修复该问题
帖子链接:https://testerhome.com/topics/12307
使用appium-desktop,又报错
selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Error executing adbExec. Original error: 'Command 'D\:\\Android\\android-sdk-windows\\platform-tools\\adb.exe -P 5037 -s 9cc73e87 shell pm clear com.htinns' exited with code 1'; Stderr: 'Error: java.lang.SecurityException: PID 30539 does not have permission android.permission.CLEAR_APP_USER_DATA to clear data of package com.**'; Code: '1'
经查,是要打开开发者选项里的OEM解锁
至此,问题算解决。
但是!在我以为功德圆满的时候,我又看到一篇帖子
http://www.miui.com/forum.php?mod=viewthread&tid=18373824&extra=
啥意思呢,就是你进去页面打开了OEM,返回上一页,再进去看,OEM依旧没打开
小米这个渣渣!!!垃圾手机!