UItesting: нажмите на UIcollectionview, а затем протестируйте его
Я новичок в UI-тестировании. Во время записи, когда я нажимаю на представление пользовательского интерфейса, первый объект отображается в пользовательском интерфейсе и соответствует коду, написанному в методе test-example:
XCUIElement *window = [[app childrenMatchingType:XCUIElementTypeWindow] elementBoundByIndex:0];
XCUIElement *element2 = [[[[window childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element;
[element2 tap];
А при автоматизации метода test-example он не может получить первый объект представления пользовательского интерфейса. Пожалуйста, предложите способ сделать это. Заранее спасибо.
1 ответ
Запись UITests имеет тенденцию давать вам действительно длинные и уродливые запросы. Я настоятельно рекомендую вам посмотреть, как писать UITests вручную. Это действительно легко, и запросы выглядят намного лучше.
Например: чтобы нажать на первую ячейку просмотра вашей коллекции, все, что вам нужно сделать, это (при условии, что есть только одна UICollectionView
на текущем экране):
Objective-C
- (void)testExample {
XCUIApplication *app = [[XCUIApplication alloc] init];
[app launch];
[[app.collectionViews.cells elementBoundByIndex:0] tap];
}
стриж
func testExample() {
let app = XCUIApplication()
app.launch()
// tap on the first collection view cell on the current screen
app.collectionViews.cells.element(boundBy:0).tap()
}