2015-12-29 3 views
4

Есть ли способ выбрать или вызвать didSelect из UITest в первой ячейке, если она существует в виде коллекции?Выберите первую ячейку в виде коллекции из UITest

При записи он использует статический текст из выбранной ячейки. Если ячейка заполнена из сети динамическим контентом, и с представлением коллекции, возможно, не содержит ячеек, этот тест будет прерываться.

ответ

17

Вы можете выбрать первую ячейку в целях сбора с:

let app = XCUIApplication() 
app.launch() 

let firstChild = app.collectionViews.childrenMatchingType(.Any).elementBoundByIndex(0) 
if firstChild.exists { 
    firstChild.tap() 
} 

Swift 3

let firstChild = app.collectionViews.children(matching:.any).element(boundBy: 0) 
if firstChild.exists { 
    firstChild.tap() 
} 

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

+0

Спасибо, Джо. Что касается детерминированных данных, я согласен, но тест предназначен для скриншотов, и ему нужны реальные данные с сервера. В результате я установил идентификатор доступности каждой ячейки на основе типа ячейки и пути индекса и проверки, существует ли она до ее доступа. – jarryd

Смежные вопросы