Как использовать KIF для взаимодействия с UIPickerView


(Антон Еритиков) #1

Здравствуйте! Бьюсь уже долгое время не могу никак выбрать элемент из UIPickerView с помощью KIF.
С DatePicker все понятно там выглядит все подобным образом:
[tester selectDatePickerValue:date];
[tester waitForViewWithAccessibilityLabel:@"dateChoose" value:@"Jun 17, 2015" traits:UIAccessibilityTraitNone];

А вот при использовании обычного UIPickerView не указывается accessibility label

Поэтому вовсе не понятно как взаимодейтсвовать с ним. Возможно он рассчитан на то что на экране в данный момент всего лишь один подобный элемент, но в моем проекте их 2 и у обоих одинаковое изначальное значение.

Помогите пожалуйста кто сталкивался с данной проблемой.


(Dmitry Cheremushkin) #2

Здравствуйте.

Практически не знаком с методами KIF, но попробую помочь..
Можно ли выбрать UIPickerView через firstObject / lastObject, а затем пройтись по его значениям? т.е.

pickerView = [[[[UIApplication sharedApplication] pickerViewWindow] subviewsWithClassNameOrSuperClassNamePrefix:@"UIPickerView"] lastObject];

for (int i = 0; i < pickerView.numberOfComponents; i++) {
    if (component == i) {
       [dataToSelect addObject:title];
    }
    else {
        [dataToSelect addObject:@""];
    }
}

    [self selectPickerValue:dataToSelect pickerType: KIFUIPickerView];