常用adb命令学习:查看和修改设备的输入法

在自动化测试过程中,有时可能会需要设置Android设备的输入法的场景时

如:运行了appium后,会自动切换到appium的输入法(io.appium.settings/.UnicodeIME),在之后的手动使用时,每次均需要去手机设置内调整输入法,较为麻烦,即可借助adb命令来实现自动化修改

如:使用airtest输入时,需切换到airtest输入法(com.netease.nie.yosemite/.ime.ImeService)

  • 获取设备当前使用的输入法

    adb shell settings get secure default_input_method
    
    # 会输出当前设备正在使用的输入法
    
  • 获取当前设备已安装的输入法

    # 会输出当前设备的全部输入法的详细信息
    adb shell ime list
    
    # 仅输出当前设备的全部输入法名称
    adb shell ime list -s
    
  • 修改当前设备的输入法

    方法一:
      adb shell ime set xxxxxx
    
        如:
            adb shell ime set io.appium.settings/.UnicodeIME  # 切换至appium UnicodeIME输入法
            adb shell ime set com.netease.nie.yosemite/.ime.ImeService    # 切换至airtest yosemite输入法
      
    方法二:
      adb shell settings put secure default_input_method  xxxxxx
        如:
            adb shell settings put secure default_input_method io.appium.settings/.UnicodeIME # 切换至appium UnicodeIME输入法
            adb shell settings put secure default_input_method com.netease.nie.yosemite/.ime.ImeService   # 切换至airtest yosemite输入法
    
  • Python + airtest 的使用示例

    def setting_writing_type(self, var):
        """
        设置设备的输入法
        :param var: sou_gou, appium, air_test
        """
        writing = {
        'sou_gou': 'com.sohu.inputmethod.sogou.xiaomi/.SogouIME',
        'appium': 'io.appium.settings/.UnicodeIME',
        'air_test': 'com.netease.nie.yosemite/.ime.ImeService'
        }
    
        shell(f'settings put secure default_input_method {writing[var]}')
        
    
    # 使用示例
    
    # 设置输入法为yosemite
    self.setting_writing_type('air_test')
    """
    完成输入行为,完成测试
    """
    # 修改为默认搜狗输入法
    self.setting_writing_type('sou_gou')
    
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容