zoukankan      html  css  js  c++  java
  • appium===报错Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.settings without first uninstalling.的解决办法

    要解决的问题: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 ode_modulesappiumlibdevicesandroidandroid.js

                技术分享

             2.修改源码文件如下:

               a.打开  Program Files (x86)Appium ode_modulesappium ode_modulesappium-adblibadb.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

    顺便提一下

    如果有任何问题,你可以在这里找到我 ,软件测试交流qq群,209092584

  • 相关阅读:
    pacx & zr(yet)
    FileInputStream RandomAccessFile FileChannel 与 MappedByteBuffer (yet)
    结合自定义注解的 spring 动态注入
    redis事务与管道区别
    jdk动态代理与cglib优势劣势以及jdk动态代理为什么要interface
    maven scope属性值设置含义
    xc (yet)
    单链表 环
    适配器模式,将老接口的数据给新接口用
    移动硬盘无法拷贝大于4G的文件
  • 原文地址:https://www.cnblogs.com/botoo/p/7514635.html
Copyright © 2011-2022 走看看