Appium+python自动化55-appium desktop每次启动安装Unlock和Appium Setting问题

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Appium+python自动化55-appium desktop每次启动安装Unlock和Appium Setting问题相关的知识,希望对你有一定的参考价值。

前言

部分真机可能会出现每次运行代码,启动app之前都会重复安装Unlock和Appium Setting这两个小工具,有的手机会自动安装,这个还好。
有的手机每次都会弹出一个安装确认框(如部分小米和vivo出现),这样就比较麻烦了,不手动去点,就无法继续执行代码了。

注意:appium之前老的版本1.4和appium desktop v1.7以后版本安装路径不一样,也有差异
小编主要是以appium desktop(大于1.7版本)为例

我的环境:

  • appium desktop 桌面GUI版本 V1.7.1

  • appium desktop 无界面命令行版本 V1.8.1

appium desktop 桌面版本

1.先看appium desktop桌面安装版本,如下图,我的版本是v1.7.1

2.双击安装之后,会安装到c盘,可以直接搜索:appium desktop,然后按以下层级找到android-helpers.js修改如下几个地方

\\appium-desktop\\resources\\app\\node_modules\\appium\\node_modules\\appium-android-driver\\lib

修改如下几个地方:
1.注释掉355行  // await adb.install(unicodeIMEPath, false);  
2.注释掉522行  // await helpers.pushSettingsApp(adb);
3. 注释掉526行  // await helpers.pushUnlock(adb);

3.再继续找到build\\lib下的android-helpers.js文件

\\appium-desktop\\resources\\app\\node_modules\\appium\\node_modules\\appium-android-driver\\build\\lib

修改如下几个地方:
1.注释掉919行,然后加一行代码
    // return _regeneratorRuntime.awrap(adb.install(_appiumAndroidIme.path, false));
    return context$1$0.abrupt(\'return\', defaultIME);

2.注释掉1366行,然后加一行代码
        // return _regeneratorRuntime.awrap(helpers.pushSettingsApp(adb));
        return context$1$0.abrupt(\'return\', defaultIME);

3.注掉1380行,然后加一行代码
        // return _regeneratorRuntime.awrap(helpers.pushUnlock(adb));
	return context$1$0.abrupt(\'return\', defaultIME);

修改完后保存,然后重启appium,重新执行代码,就不会重复安装Unlock和Appium Setting了

appium desktop 命令行版本

1.如果是通过npm安装的appium命令行版本,我的命令行版本是1.8.1,那就在c盘搜索:npm,然后一层层找到以下路径

\\npm\\node_modules\\appium\\node_modules\\appium-android-driver

2.在\\npm\\node_modules\\appium\\node_modules\\appium-android-driver\\lib\\android-helpers.js打开修改

修改如下几个地方:
1.注释掉358行  // await adb.install(unicodeIMEPath, false);  
2.注释掉570行  // await helpers.pushSettingsApp(adb);
3. 注释掉581行 // await helpers.pushUnlock(adb);

3.继续在\\npm\\node_modules\\appium\\node_modules\\appium-android-driver\\build\\lib\\android-helpers.js打开修改

修改如下几个地方:
1.注释掉782行,然后加一行代码
    // return _regeneratorRuntime.awrap(adb.install(_appiumAndroidIme.path, false));
    return context$1$0.abrupt(\'return\', defaultIME);

2.注释掉1285行,然后加一行代码
        // return _regeneratorRuntime.awrap(helpers.pushSettingsApp(adb));
        return context$1$0.abrupt(\'return\', defaultIME);

3.注掉1321行,然后加一行代码
        // return _regeneratorRuntime.awrap(helpers.pushUnlock(adb));
	return context$1$0.abrupt(\'return\', defaultIME);

本篇主要是解决appium1.7以上版本,不同的版本号代码行数会有一点点差异

可能遇到的报错

1.如果遇到这个报错no such file or directory \'c:\\node\\stylus\\package.json\'。那就执行这2句

npm install -g express
npm init -y

详情查看stackoverflowhttps://stackoverflow.com/questions/9484829/npm-cant-find-package-json

上海-悠悠 QQ交流群:330467341

以上是关于Appium+python自动化55-appium desktop每次启动安装Unlock和Appium Setting问题的主要内容,如果未能解决你的问题,请参考以下文章

python+Appium自动化:python多线程多并发启动appium服务

Appium+python自动化22-Appium Desktop转载

Appium+python自动化-Appium Python API

python+appium自动化测试 —— Appium并发测试之python启动appium服务

Appium+python自动化8-Appium Python API

AndroidUI自动化(python+appium)-Appium 启动