我正在使用appium进行移动自动化,在这种情况下我需要在提供输入后点击移动虚拟键盘上的"Done"
按钮。如何在appium中使用WebDriver
?
答案 0 :(得分:0)
我认为来自@Slavo的解决方案已在appium中弃用。虽然具有相同键事件的adb命令应该起作用,即
adb shell input keyevent 66
在大多数情况下,您的输入主要是单个线路,例如进行搜索。在这种情况下,您可以更改前一行:
WebElement myTextView = <find your text-view>
myTextView.sendKeys("your-text/n"); // "/n" as a new line in java
您还可以隐藏键盘并使用其他屏幕小部件执行操作。喜欢:
driver.hideKeyboard();
WebElement otherGoodToGoButton = <find other useful button/widget>
otherGoodToGoButton.click();
使用TouchActions
点击屏幕坐标也是一种方法,但我不建议使用它。
答案 1 :(得分:0)
您可以使用隐藏键盘功能
driver.hideKeyboard()
谢谢, 萨迪克
答案 2 :(得分:0)
driver.pressKeyCode(AndroidKeyCode.ENTER);
答案 3 :(得分:0)
我们在本机小键盘上的“完成”复选框上遇到了很多麻烦,并且没有任何关键事件键代码起作用。最后,此脚本对我们有用:
$driver.execute_script("mobile:performEditorAction", {'action'=>'done'})
无论使用哪种语言,都要执行脚本'mobile:performEditorAction'并向其发送哈希值{'action'=>'done'}。
答案 4 :(得分:0)
在JavaScript
中使用wd
的此解决方案对我有效:
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/。
您可以将“搜索”替换为“完成”或在上面的链接中找到的各种其他命令。