Appium Appium 1.17.1 使用 UiAutomator2 时出现 [INSTALL_PARSE_FAILED_NO_CERTIFICATES] 的错误

Jia.Q · 2020年07月23日 · 最后由 cmlanche 回复于 2020年07月23日 · 3442 次阅读

问题来源:Appium 中的 UiAutomator1 对 Android 7.0 及以上不兼容,再做自动化测试时会出现元素定位不到的错误;UiAutomator2 或许能解决这个问题
问题说明:首先,capabilities 有这些:

{
  "platformName": "Android",
  "deviceName": "tiantian",
  "automationName": "UiAutomator2",
  "appPackage": "packagename",
  "appActivity": "activity",
  "autoGrantPermissions": true,
  "udid": "127.0.0.1:6555",
  "autoLaunch": false
}

在 start session 的时候,会出现下面这个错误

看日志内容,主要错误是:appium-uiautomator2-server-debug-androidTest.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES
(后面还有一些信息)
Failed to collect certificates from /data/app/vmdl691848278.tmp/base.apk: META-INF/CERT.SF has invalid digest for android/support/test/espresso/base/IdlingResourceRegistry_Factory.java in /data/app/vmdl691848278.tmp/base.apk

请教:这个问题可以怎么解决?

appium-desktop 版本:1.17.1

共收到 12 条回复 时间 点赞


把这个需要安装的操作,手动在命令行里面安装到移动端,再试一下

2楼 已删除
Jia.Q #11 · 2020年07月23日 Author
宝藏 回复


会报错,INSTALL_FAILED_INVALID_URI

Jia.Q 回复

使用绝对路径安装,比如 pm install /data/local/tmp/appiumxxxx/xxxxxxxx

看样子是手机的设置问题,手机是不是不允许没有签名的应用安装?


用绝对路径安装,报错是跟 appium 日志中的错误是一样的

cmlanche 回复

我是在模拟器上测试的,然后,我想问下,还能让手机允许没有签名的应用安装吗?

Jia.Q 回复

我说的没签名是指用的 debug 签名,但讲道理模拟器是支持的

百度找找这个问题吧,https://blog.csdn.net/knockheart/article/details/97765378 把 uiautomator2 的这个 apk 解压出来看看

cmlanche 回复

emm,请问 appium 对解决 Android7.0 定位不到某些元素有其他解决方法吗?

Jia.Q #10 · 2020年07月23日 Author
cmlanche 回复

另外,这个 apk 解压后是有签名文件的😂

Jia.Q 回复

如果是网页元素,uiautomator1 和 2 的能力都有限,应该用 espresso 来试试,不过需要签名

Jia.Q #12 · 2020年07月23日 Author
cmlanche 回复

这个工具可能目前不太适合我现在做的工作,后面改进可以考虑

Jia.Q 回复

appium 这玩意上手难度确实很高的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册