Как вы справляетесь с UIPickerView в тестировании приложений iPhone UI Automation? - PullRequest
0 голосов
/ 06 октября 2010

В следующем коде сценария автоматизации пользовательского интерфейса я могу получить значения из UIPickerView, но не могу выбрать средство выбора:

var picker = window.pickers(); 

UIALogger.logMessage("picker array count: " + picker.length);

var pickerWheels = picker[0].wheels();

UIALogger.logMessage("picker Wheel count: " + pickerWheels.length);

var pickerWheelsValues =pickerWheels[0].values();

UIALogger.logMessage("picker Values count: " + pickerWheelsValues);

pickerWheels[0].values()[0].tap();

Что я могу делать не так?

Ответы [ 4 ]

2 голосов
/ 21 ноября 2010

Ответ в сообщениях apple dev 242678.

по сути вы должны:

pickerWheel.tapWithOptions({x:hitPointX, y:hitPointY}, {touchCount:1, tapCount:1});

Хитрость в том, что hitPoint долженследующая или предыдущая строка.

1 голос
/ 09 февраля 2011

Это прекрасная реализация javascript средства выбора колесика https://devforums.apple.com/message/242678

0 голосов
/ 18 июля 2017

Для XCUIAutomation (iOS 10 +)

app.pickers
    .children(matching: .pickerWheel)
    .element
    .adjust(toPickerWheelValue: "My Value")
0 голосов
/ 04 мая 2011

Вы должны использовать метод .selectValue ().

var value = pickerWheels[0].values()[0]; // or any other valid value
pickerWheels[0].selectValue(value);

Я обнаружил, что в некоторых ситуациях selectValue выдает «Возникла исключительная ситуация при попытке запустить скрипт».Это происходит, когда цель не установлена ​​правильно - зарегистрируйте дерево элементов и проверьте, не является ли имя UAITarget пустым (в случае симулятора это должно быть «iPhone Simulator»).См. «Редактировать активную цель» в разделе «Выбор цели» и убедитесь, что в разделе «Параметры» установлена ​​правильная версия симулятора (для которой вы скомпилировали).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...