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

Java Appium中的sendKey方法有时也会触发粘贴,java,android,appium,Java,Android,Appium,在过去的几周里,我一直在学习Appium,我无法避开一个明显的bug 每当我在一个WebElement上调用sendKeys时,大约有25%的时间它似乎长按并弹出“粘贴”对话框。然后它粘贴剪贴板上最后复制的文本,并发送我告诉它的键 例如: WebElement myElement=driver.find(“电子邮件”); sendKeys(“我的文本”) Android剪贴板文本:“这是一些剪贴板文本” 结果输入字段: “这是一些剪贴板文本我的文本” 我曾尝试在发送文本之前直接单击输入字段以取消

在过去的几周里,我一直在学习Appium,我无法避开一个明显的bug

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

例如:

WebElement myElement=driver.find(“电子邮件”); sendKeys(“我的文本”)

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

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

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

在某些输入中,这个问题似乎非常常见,而其他输入几乎从未出现过这种行为(在大约40次尝试后,电子邮件字段在10次左右完成了此操作,而超出它的密码字段只执行了一次)。唯一一个似乎一直有效的方法是使用driver.sendKeyEvent方法,我相信它直接使用adb sendkey事件

在搜索了几个小时之后,我只发现了一些关于这个bug的内容。有人熟悉它或者知道一个很好的解决方法吗


设备:Galaxy Note Edge,5.0.1

我也遇到过同样的问题,我遵循的解决方法是在弹出键盘后导航到键盘设置,然后关闭预测文本。这将解决您的问题

关闭预测文本对我不起作用


我建议改用.set_值(Python,可能是.setValue for java)。到目前为止,它还没有出现任何问题。

因此,当我遇到这种情况时,文本实际上得到了粘贴,而键盘从未弹出过。显示“粘贴”提示,然后粘贴文本关闭预测文本,您将不会遇到此问题