前言

部分真机可能会出现每次运行代码,启动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问题的更多相关文章

  1. Appium+python自动化8-Appium Python API

    Appium+python自动化8-AppiumPython API   前言: Appium Python API全集,不知道哪个大神整理的,这里贴出来分享给大家. 1.contexts conte ...

  2. appium+python自动化61-中文输入乱码问题解决

    前言 在夜神模拟器上输入中文,发现是乱码,将unicodeKeyboard和resetKeyboard参数设置为True了,发现还是没法解决. 打开手机设置语言和输入法,发现找不到Appium And ...

  3. Appium+python自动化20-查看iOS上app元素属性

    前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素 Mac版的appium1.6的 ...

  4. Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP

    前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...

  5. appium+python自动化50-生成定位对象模板templet(jinja2)

    前言 每次自己写pageobject定位元素对象太繁琐,格式都差不多,只是换个定位方法,这种就可以才有模板的方式,批量生成pageobject定位元素对象的模板 python里面生成模板有两个模块可以 ...

  6. Appium+python自动化20-查看iOS上app元素属性【转载】

    前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道,appium的windows版自带的Inspector可以定位app上的元素Mac版的appium1.6的版 ...

  7. Appium+python自动化19-iOS模拟器(iOS Simulator)安装自家APP【转载】

    前言 做过iOS上app测试的小伙伴应该都知道,普通用户安装app都是从appstore下载安装,安装测试版本的app,一般就是开发给的二维码扫码安装, 或者开发给个.ipa的安装包文件,通过itoo ...

  8. Appium+python自动化-查看app元素属性

    本文转自:https://www.cnblogs.com/yoyoketang/p/7581831.html 前言 学UI自动化首先就是定位页面元素,玩过android版的appium小伙伴应该都知道 ...

  9. appium+python自动化52-多点触控MultiAction

    前言 MultiAction是针对多点触控操作的,是TouchAction的一个补充模块 TouchAction用法参考前面的一篇:appium+python自动化33-TouchAction 多点触 ...

随机推荐

  1. json数据操作

    <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title> ...

  2. AtCoder Non-decreasing(数学思维)

    题目链接:https://abc081.contest.atcoder.jp/tasks/arc086_b 题目大意:有n个数,最多可以执行2*n次操作,每次可以选择将ai加到aj上,最终使得该序列满 ...

  3. LeetCode解题报告—— Best Time to Buy and Sell Stock

    Best Time to Buy and Sell Stock Say you have an array for which the ith element is the price of a gi ...

  4. CVE-2012-1876漏洞分析

    0.POC文件 <html> <body> <table style="table-layout:fixed" > <col id=&qu ...

  5. 洛谷 P2077 红绿灯 题解

    题目传送门 这道题一秒一秒的扫描一定会超时,所以就用一种O(N)的算法. #include<bits/stdc++.h> using namespace std; ],b[],c[],x= ...

  6. 用WP SMTP插件实现邮件发送功能

    WordPress本身是采用mail()函数发邮件的,但是这样发出的邮件很容易被放入垃圾箱,很多主机商(特别是Windows主机)为了避免用户滥发邮件直接禁用了mail()函数,还有些云计算平台(比如 ...

  7. Lab 4 in Tornado

    反正也没给CSS,自己改了下样式…… 效果: 题目给的验证信用卡号码规则不太全,万事达的卡第二位必须是1~5,另外其实visa号码也有13位的……要兼容这个的话只要把正则改成'^4([0-9]{12, ...

  8. python开发学习-day02(元组、字符串、列表、字典深入)

    s12-20160109-day02 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  9. 在 Windows 上进行 Laravel Homestead 安装、配置及测试

    软件环境:在 Windows 7 64位 上基于 VirtualBox 5.2.12 + Vagrant 2.1.1 使用 Laravel Homestead. 1.准备 先下载VirtualBox- ...

  10. vue表格导出

    inportexcel: function() { //兼容ie10哦! require.ensure([], () => { const { export_json_to_excel } = ...