2015-03-09 2 views
1

У меня есть сценарий UIAutomation, где мне нужно выбрать кнопку UISegmentedControl, которая находится внутри пользовательского представления. Этот обычай представление является Заголовочным UITableViewUIAutomation не может получить доступ к элементу

Я попытался оба этих вызовы, но они не работают

target.frontMostApp().mainWindow().segmentedControls()[0].buttons()["Stats"].tap(); 
target.frontMostApp().mainWindow().segmentedControls()["mySegmentedControl"].buttons()["Stats"].tap(); 

Я получаю сообщение об ошибке «Не удаюсь выполнить действие на недействительном элемент», что означает, что UISegmentedControl не было найдено.

Что я делаю неправильно?

ответ

0

У меня была проблема, подобная этому немного назад. У вас есть «isAccessibilityElement» установлен на true в вашем пользовательском представлении? Если вы это сделаете, это может быть вашей проблемой, если она установлена ​​в true, она «скрывает» доступность для детей этого представления, а это означает, что вы не сможете получить доступ к своей кнопке.

+0

Нет, я ничего не установлено программно, ни в «User Defined Время воспроизведения Атрибуты» главного обычая Посмотреть. Я просто установил 'accessibilityIdentifier' в сегментированном элементе управления на xib – Jan

+0

. Я также попытался переопределить' isAccessibilityElement' в 'NO' в моем представлении контейнера, но он не работает – Jan

0

Так решение установить accessibilityIdentifier на настраиваемое представление и на содержащемуся UISegmentedControl, а затем использовать

target.frontMostApp().mainWindow().tableViews()[0].groups()["MyCustomView"].segmentedControls()["MySegmentedControl"].buttons()["Stats"].tap();