zoukankan      html  css  js  c++  java
  • appium输入法踩坑解决方案-----中文乱码及输入法搜索无法点击

    一、appium1.7.1 遇到的坑:

      1. 在写安卓的搜索用例脚本时,发现输入内容后,搜索出现在输入法键盘原来的确认位置,定位不到手机自带输入法的"搜索"键;

           2. 传入中文搜索,运行显示乱码英文字符;

      3. 百度类似问题,挺多的,中心思想就是一句:切换appium输入法到其他的输入法,比如搜狗,然后切换回来。可是,翻过来翻过去,手机上没有appium默认的输入法;

    二、解决步骤:

      1. 找到appium输入法的安装包,我是win10系统,appium安装时是没有手动选择安装路径这一步骤的,一般默认安装在了:C:Users***(用户名)AppDataLocalProgramsappium-desktop,appium默认输入法的包在  C:Users***(用户名)AppDataLocalProgramsappium-desktop esourcesapp ode_modulesappium ode_modulesappium-android-imeinUnicodeIME-debug.apk,找到包后,使用adb install 包名给安装到手机上,设置手机默认输入法为appium输入法;

      2. 脚本设备参数中,设置如下,然后就可以输入中文了;  

    caps['unicodeKeyboard'] = 'True'#使用Unicode编码方式发送字符串
    caps['resetKeyboard'] = 'True'#隐藏键盘

      3. 解决了中文的问题,再来看输入法中搜索键定位问题了,首先在手机上安装第三方搜狗输入法;  

      4. 在搜索中输入中文关键字的这一步骤后(位置要放对),开始切换输入法:

    import os
    
    os.system("adb shell ime set com.sohu.inputmethod.sogou/.SogouIME")  # 从默认的appium输入法 切换到 搜狗输入法
    time.sleep(3)
    self.driver.press_keycode('66')  # 点击确认位置-搜索键
    time.sleep(3)
    os.system("adb shell ime set io.appium.android.ime/.UnicodeIME")  # 切换回appium输入法

        再次运行,就没有问题了。

  • 相关阅读:
    JVM学习笔记-方法区(Method Area)
    JVM学习笔记-类型信息(Type Information)
    JVM学习笔记-常量池(Constant Pool)
    JVM学习笔记-字段信息(Field Information)
    hive schematool -initSchema -dbType mysql 报错
    flink error: Exception in thread "main" java.lang.NoClassDefFoundError
    python error: TypeError: cannot serialize '_io.TextIOWrapper' object
    multiprocessing.Pool 捕获error
    sysdig 安装与使用(转载)
    sonatype nexus简介(转)
  • 原文地址:https://www.cnblogs.com/qingyuu/p/11263562.html
Copyright © 2011-2022 走看看