如何在Appium android中处理搜索,输入等软键

时间:2016-02-08 12:14:21

标签: android testing automation appium

我正在使用Appium(java)来自动化我的Android应用程序。
我在需要输入文本并按下软键盘上的搜索/输入键的情况下很震惊。
我尝试了很多解决方案但是他们都没有工作。
有人试过这个吗?很快就试过了:

WebElement input = driver.findElement(By.id("myId"));
        input.sendKeys(value); // the value we want to set to input
        input.sendKeys(Keys.ENTER);
         genericMethods.wait(1000);

5 个答案:

答案 0 :(得分:1)

使用此:

public void tapEnterButtonOnKeyboard() {
        ((AndroidDriver) driver).pressKeyCode(AndroidKeyCode.ENTER);
    }

答案 1 :(得分:1)

尝试这样的事情

selenium.keyPress(" css = input.tagit-input.ui-autocomplete-input"," 13");

或者

selenium.keyPressNative(" 10&#34); //输入

参考文献:

Typing Enter/Return key in Selenium

Press Enter key in Selenium script

http://selenium.googlecode.com/svn/trunk/docs/api/java/org/openqa/selenium/Keys.html

答案 2 :(得分:0)

您可能会发现输入软键对象并在其上执行点击事件..它将位于uiakeyboard节点下..

答案 3 :(得分:0)

我使用的是1.11.0 Appium版本,我尝试了此方法并奏效了。试试这个:

driver.executeScript("mobile:performEditorAction", ImmutableMap.of("action", "Search"));

注意:

  

“驱动程序”是AppiumDriver类型。

答案 4 :(得分:0)

这个使用wd的JavaScript解决方案对我有用:

return driver.waitForElementById(<elementId>).type(<text to type>).click().execute( "mobile: performEditorAction", { "action": "search" } );

这使我能够找到文本字段,输入一些文本并提交搜索命令(与单击键盘中的搜索图标相同)。当然,您必须用适当的值替换<elementId><text to type>。有关“移动设备:performEditorAction”的详细信息,请参见http://appium.io/docs/en/commands/mobile-command/