我正在使用Appium 1.4.13,java-client-3.3.0.jar,selenium独立服务器2.48.2和IntelliJ。
我想为UIATextField输入一个值,这是一个数字选择器。我阅读了一个教程并建议:
(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("abcdef");
但这没有用:它只是从iOS开启了一个原生的数字选择器
另一个建议是使用setValue for java client 2.2.0:
(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).setValue("abcdef");
但是setValue方法不再存在了。
所以我有一个像下面这样的解决方法,它可以工作:
(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).click;
iosDriver.scrollToExact("abcdef");
//click confirm
我的问题:
由于
这是我在运行
时从Appium Inspector获得的内容(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("170");
答案 0 :(得分:1)
setValue更改为仅对IOSElement有效。相应地投射你的元素,它应该工作。
例如:(IOSElement) iosDriver.findElement(By.xpath("//UIATextField")).setValue("abcdef");
答案 1 :(得分:0)
使用appium 3.3.0 java-client的初始代码应该只是输入稍有不正确。一个小注释,一个数字选择器有一个正则表达式定义为获得一个Integer类型的输入,所以你可以更好地尝试发送一个数字输入。试试这个,应该有所帮助:
(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("12"); //sending an integer value
答案 2 :(得分:0)
我正在开发 Xamrin 应用程序,而 Appium iOS 驱动程序无法使用 @iOSXCUITFindBy 将密钥发送到 UIATextField。虽然在 Android 上,相同的功能运行良好。
我修改了这个功能,首先点击一下,这样我就可以在 webview 中输入用户名和密码了。
public void enterUsername(String userName)
{
this.userName.click();
this.userName.sendKeys(userName);
}