有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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

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

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

例如:

WebElement myElement=驱动程序。查找(“电子邮件”); 我的元素。sendKeys(“我的文本”)

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

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

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

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

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

设备:Galaxy Note Edge,5.0.1


共 (2) 个答案

  1. # 1 楼答案

    我也遇到过同样的问题,我所做的工作是在弹出键盘后导航到键盘设置,然后关闭预测文本。这会解决你的问题

  2. # 2 楼答案

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

    我建议使用。改为设置_值(Python,可能是java的.setValue)。到目前为止,它的工作没有任何问题