2016-03-01 59 views
1

我正在使用IntelliJ的Appium 1.4.13,java-client-3.3.0.jar,selenium独立服务器2.48.2。Appium iOS驱动程序无法将密钥发送到UIATextField

我想输入一个值给UIATextField,这是一个数字选择器。我读的教程,并建议:

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("abcdef"); 

但这并没有工作:它只是从iOS的

打开本地numberpicker

另一个建议是使用的setValue对Java客户端2.2.0:

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).setValue("abcdef"); 

但setValue方法不存在了。

所以我有一个解决方法如下图所示,它的工作原理:

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).click; 
iosDriver.scrollToExact("abcdef"); 
//click confirm 

我的问题:

  • 的setValue和sendKeyEvents不再可用?
  • 有没有更好的方法来输入一个值并确认它?

感谢

这是我从Appium检查了,当我运行

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("170"); 

enter image description here

+0

通过检查截图我使用'find'图标,你可以在此操作栏上的用户界面中看到(左四) – nullpointer

+0

@nullpointer意味着版面图:谢谢你为你的时间,我设法使它与setValue一起工作。再次感谢:) – Ragnarsson

回答

0

您与appium 3.3.0 Java的客户端初始代码应该只是工作,你的输入有点不正确。一个小问题就是,一个数字选择器有一个正则表达式来定义一个Integer类型的输入,所以你最好试着给它发送一个数字输入。试试这个,应该有帮助:

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("12"); //sending an integer value 
+0

我试着整数,但我仍然有同样的问题:我打开数字选择器,并保持这样,直到超时 – Ragnarsson

+0

你试过点击这个文本域 – nullpointer

+0

是的,这是我的问题解决方法:我可以点击在这个文本字段上,然后numberpicker显示出来,我用方法scrollToExact(“12”),并确认。有效。但我想知道为什么我不能使用sendKeys,这很奇怪,因为我读过的所有教程总是建议sendKeys – Ragnarsson