appium android測試碰到的坑

Appium 1.4.13在Android 7上有bug

報錯:Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.settings without firstuninstalling.]

原解決方案見:https://discuss.appium.io/t/support-version-android-n/10206/5

總結自己的解決方案:

原因:

1. adb.js 中1035 行this.shell("ps '" + name + "'", function (err, stdout) {

對應執(zhí)行的指令是ps 'uiautomator', Android7不支持這個指令格式,所以執(zhí)行結果是bad pid'uiautomator'

目前Appium未對此進行處理,所以需要修改此指令的執(zhí)行方式

即將

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);

};

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容