问题的产生
某些型号的安卓手机在运行 Appium 自动化测试的时候总会提示安装 Unlock, Appium Setting, Android Input Manager ,其实该手机上已经安装了相应程序,但还是会弹出对话框提示是否替换,看下图:
解决办法
我手头的手机里只有 oppo 、vivo 手机有这个问题,其他手机第一次安装过这些软件之后就不会再提示安装了;所以也许可以找到更好的方法,比如检查一下手机的配置是不是有什么问题; 不过,先用简单粗暴法绕开这个问题吧,更好的以后再尝试。
禁掉 Appium 中安装 Unlock, Setting, Android Input Manager
方法很简单,按照如下方法修改 2 个文件:
第一个文件:android-helpers.js
位置: /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/lib
改动点:
第二个文件:android-helpers.js
位置:/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/appium-android-driver/build/lib
改动点:
全部修改完毕之后,重启 appium 烦人的 Unlock, Setting, Android Input Manager 就不会再弹出安装提示了;如果需要恢复自动安装,将上述改动还原即可。
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-android-driver/build/lib/android-helpers.js
/Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-android-driver/lib/android-helpers.js
但确实不知道怎么改;mac 桌面版 1.2.7
新版本的怎么办。。 蛋疼 这个 appium 没得用头了。。。
this.pushAppium.bind(this),
//this.initUnicode.bind(this),
//this.pushSettingsApp.bind(this),
//this.pushUnlock.bind(this),
function (cb) {this.uiautomator.start(cb);}.bind(this),
this.wakeUp.bind(this),
//this.unlock.bind(this),
屏蔽到上面的四个,然后重启 appium 就可以了(老版本 appium1.4.16)
你好,按照您的建议,注释掉之后,"Appium Android input manager for unicode" App 的安装提示框,有时候弹出来,有时候不会弹出来,请问您知道是什么原因吗?谢谢
非常感谢,按照你的方法之后,OPPO 手机上没有再弹出了
我安装的是 1.6.5 版本的 找不到这段代码 求楼主帮忙
不行唉,还是一样会重复安装,我用的是 vivo 手机,平台是 windows,appium1.6.5。求支援
楼主有遇到 oppo 手机 color3.0 版本中文输入乱码的情况吗?
vivo 会,但是小米不会,谢谢你这个贴
window appium 安装目录下 appium/node-modules/appium/lib/devices/android/android.js 中注释如下行:
//this.uninstallApp.bind(this),
//this.installAppForTest.bind(this),
//this.pushSettingsApp.bind(this),
//this.pushUnlock.bind(this),
appium 安装目录下 appium/node-modules/appium/lib/devices/android/android.js 注释掉 108、109、123、114 行就可以了。
android-helpers.js 不过这个文件为啥 我没有找到?
嗯。用 OPPO 测试会出现每次都要安装 Unlock\Setting\Android Input Manager。HTC 的不会。