在 Appium Sendkeys 中没有按预期工作,它发送的比我给它的多
Posted
技术标签:
【中文标题】在 Appium Sendkeys 中没有按预期工作,它发送的比我给它的多【英文标题】:In Appium Sendkeys didn't work as expected, it sends more than i give to it 【发布时间】:2016-05-01 14:33:54 【问题描述】:当我点击以下代码时,我正在使用 Appium 编写 android 应用程序的测试用例
public void EnterQuantity()
wd.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ScrollView[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[3]/android.widget.LinearLayout[3]/android.widget.LinearLayout[1]/android.widget.EditText[1]")).sendKeys("1");
我在数量字段中得到 11 而不是 1。 我怎样才能降低写的速度,以确保只写我给的数字不加倍。
【问题讨论】:
请在 appium 尝试执行 sendkeys 时发布您的日志.. 我把这个问题作为答案,但问题是日志中的数量是 11 作为值而不是 1。 尝试在输入文本之前放置一些等待命令,并清除文本框中的文本。 【参考方案1】:尝试在 Android 设备中手动更改语言和输入设置中的自动更正设置
【讨论】:
不,问题不是来自那里,因为自动更正已关闭【参考方案2】:@Emna 我相信它会调用EnterQuantity()
两次。尝试在此函数中添加点击元素(例如提交按钮)以缩小根本原因
【讨论】:
我不这么认为,因为当我输入一个像 2780 一样的大数字时,它会被写成 227800 或 27800 或其他超过 4 位的组合。但我从来没有 27802780 @Emna 明白了。但是你可以在给出发送键后尝试点击或功能内的任何按钮吗? 这已经是我正在做的例子,我输入价格和数量然后点击购买订单,然后我转到订单列表,我看到这个订单的价格和数量具有附加效果11 代替 1 和 27800 代替 2780 或任何其他组合。这种情况并非一直在发生。但是假设 80% 那么最好将长 xpath 声明为一个元素并单击该元素而不是同时查找和发送密钥 //code WebElement xyz=wd.findElement(By.xpath("// android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ScrollView [1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[3]/android.widget.LinearLayout[3]/android.widget.LinearLayout[1]/android.widget.EditText[1]") ); xyz.sendKeys("1"); 请。在查找长层次结构和同时发送输入之间可能存在日志@Emna以上是关于在 Appium Sendkeys 中没有按预期工作,它发送的比我给它的多的主要内容,如果未能解决你的问题,请参考以下文章
Sendkeys 在使用 Appium 的 Winappdriver 中不起作用