前言

部分真机可能会出现每次运行代码,启动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

最新文章

  1. python Queue模块
  2. Dreamweaver代码提示快捷键冲突
  3. log4j使用
  4. c# DateTime时间格式和JAVA时间戳格式相互转换
  5. http-关于application/x-www-form-urlencoded等字符编码的解释说明
  6. Ubuntu 16.04 + CUDA 8.0 + cuDNN v5.1 + TensorFlow(GPU support)安装配置详解
  7. 判断是否AVL平衡二叉书
  8. CORS预检请求详谈
  9. 用纯CSS实现的箭头
  10. 20164322韩玉婷 -----EXP4 恶意代码分析
  11. Docker端口映射及创建镜像演示(二)--技术流ken
  12. [matlab] 12.Optimization Tool的使用
  13. Visual Studio 产品密钥
  14. ECMAScript 6 入门之Proxy代理和set
  15. webpack dev server 配置 启动项目报错Error: listen EADDRINUSE
  16. synchronized同一把锁锁不同代码
  17. asyncio queue
  18. jquery radio使用
  19. APP前端易用性和UI测试
  20. cloudstack secondary vm starting

热门文章

  1. Codeforces 445A Boredom(DP+单调队列优化)
  2. HDU 3018 Ant Trip (并查集求连通块数+欧拉回路)
  3. 【转载】python-协程
  4. HDU 2822
  5. 禁用Flash P2P上传
  6. copy深浅拷贝
  7. jquery.autocomplete修改 实现键盘上下键 自动填充
  8. 将内存图像数据封装成QImage V2
  9. 力扣:丑数II和数组中前K大的元素
  10. Unity 游戏开发技巧集锦之创建透明的材质