zoukankan      html  css  js  c++  java
  • appium1.4+华为8.0执行自动化脚本,报启动session失败,原因是unicode_ime_apk\Uni codeIMEdebug.apk在手机上已存在,再次安装失败,导致启动session失败,解决办法:换高版本的appium

    最开始做Android自动化测试时,通过执行脚本发现报,已安装UnicodeIME-debug.apk,再次安装失败,当时觉得这个apk对我来说没用,就把D:\Program Files (x86)\Appium\node_modules\appium\lib\devices\android\android.js里的这个安装程序this.initUnicode.bind(this),注释掉了

    error: Failed to start an Appium session, err was: Error: Command failed: "D:\Program Files\android-sdk-windows\platform-tools\adb.exe" -s 37KRX18720004114 install "D:\Program Files (x86)\Appium\node_modules\appium\build\unicode_ime_apk\UnicodeIME-debug.apk"adb: failed to install D:\Program Files (x86)\Appium\node_modules\appium\build\unicode_ime_apk\UnicodeIME-debug.apk: Failure [INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install io.appium.android.ime without first uninstalling.]

      在做自动化的过程中发现,用华为自带的百度输入法,在微信里输入链接时,比如:......&qr_code=02607951,在输入时会自动变成&......&-qr_code=02607951,中间多了个横线。手工把键盘设置成appium的虚拟键盘后,这个问题解决了,但是要想自动化在其他手机上也跑起来,就必须要把注释解开,这样才会在第一次执行时按钮appium的虚拟键盘,问题又回到了开始,怎么解决华为8.0已安装UnicodeIME-debug.apk,执行自动化脚本报错的问题?


    想了几种解决办法:

    1、换低系统版本手机,但是测试资源有限

    2、把自己手机恢复到出厂设置,降低系统版本,舍不得降版本

    3、通过adb命令设置appium为默认输入法,前提是手机上已经安装了appium输入法(一直注释掉就不会安装appium虚拟键盘this.initUnicode.bind(this))

    查询手机上所有输入法:adb shell ime list -s

      com.baidu.input_huawei/.ImeService --华为百度输入法
      io.appium.android.ime/.UnicodeIME --appium输入法

    adb shell settings put secure default_input_method + 输入法
    4、每次执行完自动化脚本,通过adb命令,卸载手机上appium键盘的安装程序,有点麻烦
    1)通过adb命令获取appium键盘的报名
    命令:adb shell pm list packages 获取手机是上所有应用的包名:io.appium.android.ime
    2)卸载appium键盘
    通过脚本执行adb命令:adb -s GSL0217302005195 uninstall io.appium.android.ime删除appium键盘

    5、换成高版本的appium,使其兼容安卓8.0系统(推荐)

  • 相关阅读:
    一个通过JSONP跨域调用WCF REST服务的例子(以jQuery为例)
    步步为营UML建模系列七、表图(Data model diagram)
    步步为营UML建模系列六、类图(Class diagram)
    WebEx
    使用Nancy和Simple.Data两个轻量级的框架打造一个分布式开发系统
    细说 ASP.NET控制HTTP缓存
    WCSF vs ASP.NET MVC
    使用KTM(内核事务管理器)进行文件事务处理
    .net 2.0下的OOXML神器:NPOI.OpenXml4Net
    为什么System.Attribute的GetHashCode方法需要如此设计?
  • 原文地址:https://www.cnblogs.com/cainiaotest/p/11009279.html
Copyright © 2011-2022 走看看