ios - Appium iOS 驱动程序无法将 key 发送到 UIATextField

标签 ios selenium automated-tests appium appium-ios

我正在使用 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 打开了一个原生数字选择器

另一个建议是对 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");

enter image description here

最佳答案

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

关于ios - Appium iOS 驱动程序无法将 key 发送到 UIATextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35726166/

相关文章:

python - Selenium headless 不适用于自定义配置文件选择

java - 使用 iFrame 打开新窗口后测试用例运行速度非常慢

javascript - this.url 不是函数

amazon-web-services - 如何在 Cypress 中合并 Junit XML 报告以与 AWS CB 集成

ios - 根据 Int 查找 JSON 字典中的前 10 项

iphone - 搜索时滚动替换表格 View 单元格值

ios - 是否有人为适用于 iOS 的 Nuance Dragon Mobile Speech SDK 创建了 MonoTouch 绑定(bind)?

android - 从客户端(iOS 和 Android)向 Sails.js 服务器发送套接字请求

python - 自动化网络任务?

java - 按顺序在 TestNG 套件 xml 文件中运行测试