Appium模拟键盘Enter解决方法

编写UI自动化时,搜索输入后,模拟键盘Enter键,使用方法androidDriver.pressKeyCode(66),但是实际运行时并没有生效。

解决方法

在使用方法androidDriver.pressKeyCode(66)前,将输入法切换成搜狗输入法。

   public void pressEnter(){
        String udid = (String)this.driver.getCapabilities().getCapability("udid");
        String setCmd = String.format("adb -s %s shell ime set com.sohu.inputmethod.sogou/.SogouIME", udid);
        TimeUnit.SECONDS.sleep(3L)
        String setCmd = String.format("adb -s %s shell ime set com.sohu.inputmethod.sogou/.SogouIME", udid);
        excuteAdbShell(setCmd);
        String enter = String.format("adb -s %s shell input keyevent 66", udid);
        excuteAdbShell(enter);
        //运行后切换回原输入法
        String reSetCmd = String.format("adb -s %s shell ime set com.android.adbkeyboard/.AdbIME", udid);
        excuteAdbShell(reSetCmd);
  }

   private void excuteAdbShell(String s) {
   Runtime runtime=Runtime.getRuntime();
   try{
      runtime.exec(s);
    }catch(Exception e){
       System.out.println("执行命令:"+s+"出错");
   }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 不知不觉,岁寒输入法的更新历史已经可以列出这么一长串来了。从中可以看出,岁寒的发展过程也是一个不断试错的过程,其中...
    临岁之寒阅读 34,729评论 1 6
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,652评论 1 11
  • 一 概述 Lu鹭输入法(或者Lu输入法)基于小鹤音形输入法音形码,重点改进词组输入体验,适合全拼输入法转双拼输入法...
    ledao阅读 6,146评论 2 51
  • 前段时间刚刚把博客搭建起来,作为一枚颜控妹子,肯定想把博客做的漂漂亮亮的。把博客变漂亮,当然离不开主题了,下面介绍...
    没有黑眼圈de熊猫阅读 739评论 4 2
  • 若于言之,诺于行之,若与诺,不仅言,若于言处之,诺行之,人与人,若而待之,诺于行之,方可若若而立,诺诺而信之。不可...
    一切美好阅读 1,520评论 23 38

友情链接更多精彩内容