当前位置: 首页 > 知识库问答 >
问题:

在appium-android中处理软键盘事件

程俊健
2023-03-14

如何处理软键盘和隐藏它使用appium Android。

以下是我的设想:

  1. 打开flipkart应用
  2. 点击搜索图标
  3. 键入一些文本[例如:汽车]
  4. 从设备键盘点击搜索图标

下面是我实现的代码:

driver.findElement(By.className(properties.getProperty("home_menu_className"))).click();
        System.out.println("clicked fist cross mark");
        driver.findElement(By.className(properties.getProperty("home_menu_className"))).click();
        System.out.println("click menu options");
        driver.findElementByName(properties.getProperty("home_menu_back_name")).click();
        System.out.println("clicked home back button");
        //WebElement search = driver.findElement(By.xpath(properties.getProperty("search_xpath")));
        //taction.tap(search);
        driver.rotate(ScreenOrientation.LANDSCAPE);
        driver.findElementByName(properties.getProperty("search_name")).click();
        System.out.println("clicked search icon");
        WebElement search_item = driver.findElementByName(properties.getProperty("search_edit_field_name"));
        search_item.sendKeys("cars");
        search_item.sendkeys(KEYS.ENTER);   
        System.out.println("entered search text");
        delay(8000);

我使用driver.rotate(屏幕定位。LANDSCAPE);"在代码中,但得到错误作为org.openqa.selenium.WebDriverExcture:一个未知的服务器端错误发生在处理命令。(警告:服务器没有提供任何stackTrack信息)

我在使用driver.hideKeyboard()时出错;

有人能告诉我吗?

提前谢谢。

共有3个答案

方鸿振
2023-03-14

在测试中添加这些功能来隐藏键盘:

capabilities.setCapability("unicodeKeyboard", true);
capabilities.setCapability("resetKeyboard", true);
东郭阳德
2023-03-14

您可以使用下面的代码,它可以正常工作。

driver.sendKeyEvent(AndroidKeyCode.ENTER)

卢和昶
2023-03-14

要隐藏键盘,您可以使用:

//To hide keyboard. 
driver.hideKeyboard();

或者,要输入一些关键事件,请使用:

driver.press_keycode(KEY_CODE);    #KEY_CODE = 66 for ENTER

请参阅下面的URL以查找密钥代码:https://developer.android.com/reference/android/view/KeyEvent

 类似资料:
  • 语法: driver.keyevent(keyCode) 1.键盘重要键 回车键(Enter) 66 空格键(Space) 62 Tab键(Tab) 61 退格键(Backspace) 67 2.手机实体键 Home键 3 返回键 4 电话键

  • 我的代码是: 在上面的代码中,mBooleanLoginDone是一个布尔变量,指示用户是否登录。我希望快捷键Ctrl和T仅在用户成功登录时起作用,但现在我还没有登录,快捷键也起作用。我怎样才能解决它?有什么想法吗?

  • 本文向大家介绍Android EditText被软键盘遮盖的处理方法,包括了Android EditText被软键盘遮盖的处理方法的使用技巧和注意事项,需要的朋友参考一下 这两天android app新增了透明栏效果,结果发现键盘弹起后会遮盖屏幕底部的EditText,没有像想象中的调整窗口大小,并滚动ScrollView,将EditText显示在键盘上方。之前也遇到过类似问题,所以解决后就干脆写

  • 有很多关于查找显示/隐藏软键盘事件的帖子。我发现自己的处境是,我需要根据软键状态在片段中更改图标。 我试图实现onMeasure,但我无法在片段中覆盖它。是否有一种(相对)无痛的方式可以在我的片段中获得清晰的显示/隐藏软键盘事件,或者我应该放弃?

  • 我试图防止在SearchView上调用requestFocus()后键盘出现,但在Android8上没有解决方案。 我试过: /*3/ /*4/ onGlobalLayout()工作,但软键盘显示了近0.5秒后消失。 即使在调用requestFocus()之后,是否可以帮助隐藏软键盘?

  • 我有一个AutoCompleteTextView,它像往常一样在用户键入3个字母后提供建议。一旦我触摸建议列表,我想隐藏软键盘一次。我在下面用表格布局所做的只是在单击除建议列表之外的任何地方时隐藏键盘。 可扩展置标语言 爪哇岛 用于自定义列表的 XML