Appium中的sendKey方法有时会触发粘贴

时间:2015-09-11 22:33:35

标签: java android appium

过去几周我一直在学习Appium,我无法解决一个明显的错误。

每当我在WebElement上调用sendKeys大约25%的时间似乎长按并弹出“粘贴”对话框气泡。然后它粘贴剪贴板中最后复制的文本,并发送我告诉它的键。

例如:

WebElement myElement = driver.find(“email”); myElement.sendKeys(“我的文字”);

Android剪贴板文字:“这是一些剪贴板文字”

结果输入字段: “这是一些剪贴板文字我的文字”

我已尝试在发送文本之前直接单击输入字段以取消粘贴操作,但似乎在单击后发生。这让我觉得问题出在sendKeys方法本身。

这个问题似乎在一些输入中非常频繁,而其他人几乎没有表现出这种行为(大约40次尝试后,电子邮件字段大约10次,而超出它的密码字段只做了一次)。似乎唯一一致的工作是使用driver.sendKeyEvent方法,我认为该方法直接使用adb sendkey事件。

搜索了几个小时后,我发现只有少数提到这个bug。有人熟悉它或知道一个好的解决方法吗?

设备:Galaxy Note Edge,5.0.1

2 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,我所遵循的工作是一旦键盘弹出导航到键盘设置 关闭预测文本 。这将解决您的问题

答案 1 :(得分:0)

关闭预测文字对我不起作用。

我建议改为使用.set_value(Python,对于Java可能是.setValue)。到目前为止,它没有任何问题。