appium_v1.4.16版本自动化适配android7.0系统

Posted xqnq2007

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了appium_v1.4.16版本自动化适配android7.0系统相关的知识,希望对你有一定的参考价值。

https://www.cnblogs.com/imlvbu/p/7127940.html

要解决的问题:appium在androidV7.0系统上运行时报错 Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.settings without first uninstalling.]

原因分析:appium的uiautomator版本与androidV7.0不适配。

预置条件:手机端已经安装完Appium Settings 和 Unlock两个应用

解决步骤:1.修改源码文件-注释安装appiumSettings和unlock的两行代码

            文件路径: C:\\Program Files (x86)\\Appium\\node_modules\\appium\\lib\\devices\\android\\android.js

 2.修改源码文件如下:

           a.打开  \\Program Files (x86)\\Appium\\node_modules\\appium\\node_modules\\appium-adb\\lib\\adb.js

           b.在adb.js的1035行找到

     this.shell("ps \'" + name + "\'", function (err, stdout) {

     if (err) return cb(err);
     替换成
     this.shell_grep("ps", name, function (err, stdout) {
     if (err) {
     logger.debug("No matching processes found");
     return cb(null, []);
    }
           并增加上面用到的shell_grep函数:
    ADB.prototype.shell_grep = function (cmd, grep, cb) {
    if (cmd.indexOf(\'"\') === -1) {
    cmd = \'"\' + cmd + \'"\';
    }
   var execCmd = \'shell \' + cmd + \'| grep \' + grep;
   this.exec(execCmd, cb);
   };

         3.重启appium

以上是关于appium_v1.4.16版本自动化适配android7.0系统的主要内容,如果未能解决你的问题,请参考以下文章

appium_v1.4.16版本不适配android7.0系统,运行报错“Attempt to re-install io.appium.settings without first uninstal

使用 mfpdev 从源代码导出版本和适配器(从适配器和源代码导出 Zips)

Spark实践|如何让CDSW的PySpark自动适配Python版本

GridView布局及适配器优化

Appium+python移动自动化测试--Monitor/uiautomatorviewer工具及元素定位方法

精心整理安卓各个版本特性与适配方案