zoukankan      html  css  js  c++  java
  • Appium python

    1、运行报错:FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.android.ime without first uninstalling.

    解决方法:卸载手机上appium自动安装的软件
    → 命令行运行:adb uninstall io.appium.android.ime

    2、运行报错:Original error: Command failed: C:Windowssystem32cmd.exe /s /c "E:SDKandroid-sdk-windowsplatform-toolsadb.exe -s e94b6920 shell "ps 'uiautomator'""

    解决方法 :找到appium的安装目录下的adb.js文件,目录为:Appium ode_modulesappium ode_modulesappium-adblib

    → 打开adb.js,找到如下代码:

    ADB.prototype.shell = function (cmd, cb) {
    if (cmd.indexOf('"') === -1) {
    cmd = '"' + cmd + '"';
    }
    var execCmd = 'shell ' + cmd;
    this.exec(execCmd, cb);
    };

    → 在上面代码下面加入这段代码:

    ADB.prototype.shell_grep = function (cmd, grep, cb) {
    if (cmd.indexOf('"') === -1) {
    cmd = '"' + cmd + '"';
    }
    var execCmd = 'shell ' + cmd + '| grep ' + grep;
    this.exec(execCmd, cb);
    };

    → 再找到如下代码:

    ADB.prototype.getPIDsByName = function (name, cb) {
    logger.debug("Getting all processes with '" + name + "'");
    this.shell("ps '" + name + "'", function (err, stdout) {
    if (err) return cb(err);
    stdout = stdout.trim();
    var procs = [];
    var outlines = stdout.split(" ");
    outlines.shift();
    _.each(outlines, function (outline) {
    if (outline.indexOf(name) !== -1) {
    procs.push(outline);
    }
    });
    if (procs.length < 1) {
    logger.debug("No matching processes found");
    return cb(null, []);
    }
    var pids = [];
    _.each(procs, function (proc) {
    var match = /[^ ]+[ ]+([0-9]+)/.exec(proc);
    if (match) {
    pids.push(parseInt(match[1], 10));
    }
    });
    if (pids.length !== procs.length) {
    var msg = "Could not extract PIDs from ps output. PIDS: " +
    JSON.stringify(pids) + ", Procs: " + JSON.stringify(procs);
    return cb(new Error(msg));
    }
    cb(null, pids);
    });
    };

    → 把上面代码注释掉,用如下代码代替:

    ADB.prototype.getPIDsByName = function (name, cb) {
    logger.debug("Getting all processes with '" + name + "'");
    this.shell_grep("ps", name, function (err, stdout) {
    if (err) {
    logger.debug("No matching processes found");
    return cb(null, []);
    }
    var pids = [];
    _.each(procs, function (proc) {
    var match = /[^ ]+[ ]+([0-9]+)/.exec(proc);
    if (match) {
    pids.push(parseInt(match[1], 10));
    }
    });
    if (pids.length !== procs.length) {
    var msg = "Could not extract PIDs from ps output. PIDS: " +
    JSON.stringify(pids) + ", Procs: " + JSON.stringify(procs);
    return cb(new Error(msg));
    }
    cb(null, pids);
    });
    };

    → 重启appium

  • 相关阅读:
    资源 | TensorFlow推出新工具Seedbank:即刻使用的预训练模型库【转】
    Vim 基本設置 – 使用Vim-plug管理插件 (3)【转】
    Linux kernel 编译问题记录【转】
    深度学习(四)卷积神经网络入门学习(1)【转】
    深度学习:Keras入门(二)之卷积神经网络(CNN)【转】
    深度学习:Keras入门(一)之基础篇【转】
    CNN笔记:通俗理解卷积神经网络【转】
    [Deep Learning] 神经网络基础【转】
    一文弄懂神经网络中的反向传播法——BackPropagation【转】
    Testin
  • 原文地址:https://www.cnblogs.com/xiyuan2016/p/7359732.html
Copyright © 2011-2022 走看看