2017-10-11 41 views
0

我是新用戶界面測試。在記錄期間,當我UI收集視圖挖掘第一對象被顯示在用戶界面和對應於代碼寫入測試示例方法是:UItesting:單擊UIcollectionview,然後測試它失敗

XCUIElement *window = [[app childrenMatchingType:XCUIElementTypeWindow] elementBoundByIndex:0]; 
    XCUIElement *element2 = [[[[window childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element childrenMatchingType:XCUIElementTypeOther].element; 
    [element2 tap]; 

和自動化測試示例性方法的情況下,它的無法取得ui收藏視圖的第一個對象。請提供一種方法來做到這一點。 在此先感謝。

+0

我剛剛找到一個辦法做到這一點只需取消accessibili ty在屬性檢查器中啓用並重新運行記錄。 –

回答

0

錄製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() 
} 
+0

你能告訴我更多關於如何集中你的鍵盤嗎?因爲當我在UI文本字段上進行測試時,有錯誤表示無論是元素還是任何後代都有鍵盤焦點。謝謝你的時間。 –

+0

在你可以輸入文字到UITextField之前,你必須點擊()它。 – joern

+0

我點擊,但我猜在播放錄製的代碼時,它不知道在哪裏點擊,所以它在其他地方而不是在那個特定的位置點擊,所以它給這些錯誤: - 任何元素或任何後代都沒有鍵盤焦點。元素: –