2016-03-01 5 views
1

Я использую Appium 1.4.13, java-client-3.3.0.jar, автономный сервер selenium 2.48.2 с IntelliJ.Appium драйвер iOS не может отправлять ключи в UIATextField

Я хочу ввести значение в UIATextField, которое является числителем. Я читал учебник и предложил:

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

, но это не сработало: он только что открыл родной 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' значок, который вы можете увидеть на пользовательском интерфейсе на панели действий этого (4-й слева) – nullpointer

+0

@nullpointer: спасибо для вашего времени мне удалось заставить его работать с setValue. Еще раз спасибо :) – Ragnarsson

ответ

1

setValue изменено, чтобы быть действительным только для IOSElement. Внесите свой элемент и работайте. Ex: (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

+0

эй спасибо, он работает с setValue :) – Ragnarsson

0

Ваш исходный код с appium 3.3.0 Java-клиент должен работать только, что ваш ввод неверный. Небольшая заметка о том, что в наборе номеров есть регулярное выражение, определенное для ввода ввода типа Integer, чтобы вы могли лучше попробовать отправить ему числовой ввод. Попробуйте это, помогите:

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

Я пробовал с Integer, но у меня все еще была такая же проблема: я открыл номерчик и остался так до тех пор, пока не истечет – Ragnarsson

+0

. Вы решили нажать на это текстовое поле. – nullpointer

+0

Да, это был мой обходной вопрос в моем вопросе: я мог щелкнуть на этом текстовом поле, затем отобразился номер телефона, и я использовал метод scrollToExact («12») и подтвердил. Это сработало. Но я хотел бы знать, почему я не могу использовать sendKeys, это странно, так как все учебные пособия, которые я читал, всегда предлагали sendKeys – Ragnarsson