我正在使用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);
答案 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/。