1

我正在使用带有 IntelliJ 的 Appium 1.4.13、java-client-3.3.0.jar、selenium 独立服务器 2.48.2。

我想向 UIATextField 输入一个值,它是一个数字选择器。我读了一个教程,它建议:

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

但这不起作用:它只是从 iOS 中打开了一个本机数字选择器

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

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

但是 setValue 方法不再存在。

所以我有一个像下面这样的解决方法,它可以工作:

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

我的问题:

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

谢谢

这是我运行时从 Appium Inspector 得到的

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

在此处输入图像描述

4

3 回答 3

1

setValue 更改为仅对 IOSElement 有效。相应地投射你的元素,它应该可以工作。前任:(IOSElement) iosDriver.findElement(By.xpath("//UIATextField")).setValue("abcdef");

来源:https ://github.com/appium/java-client/blob/master/src/main/java/io/appium/java_client/ios/IOSElement.java

于 2016-03-01T17:24:10.260 回答
0

您使用 appium 3.3.0 java-client 的初始代码应该可以正常工作,只是您的输入略有不正确。需要注意的是,数字选择器定义了一个正则表达式来获取整数类型的输入,因此您可以更好地尝试向其发送数字输入。试试这个,会有所帮助:

(MobileElement) iosDriver.findElement(By.xpath("//UIATextField")).sendKeys("12"); //sending an integer value
于 2016-03-01T17:08:28.720 回答
0

我正在开发 Xamrin 应用程序,而 Appium iOS 驱动程序无法使用 @iOSXCUITFindBy 将密钥发送到 UIATextField。尽管在 Android 上相同的功能工作正常。

我修改了功能以首先单击,这样我就可以在 webview 中输入用户名和密码。

public void enterUsername(String userName)

        {
            this.userName.click();
            this.userName.sendKeys(userName);
        }
于 2021-03-01T17:36:42.120 回答