2017-01-30 26 views
0

我有一個'UICollectionView」,其中我能夠向下滾動,但不能向上滾動。我不知道如果我失去了一些東西很簡單 - 這裏的代碼如下:不能向上滾動使用EarlGrey

(格式化是怪異的,所以這裏是截圖)

enter image description here

第一塊執行完美,但該應用程序不會再次向上滾動,並且我需要點按的按鈕仍然不在屏幕上。

編輯:嘗試添加grey_sufficientlyVisible按@gran_profaci,仍然無法找到的元素。

no UI element matching (matcherForSufficientlyVisible(>=0.750000) && (respondsToSelector(accessibilityIdentifier) && accessibilityID("bar"))) was found.但是,它仍然存在於記錄的層次。

enter image description here

+0

你能不能提供您所看到的錯誤?我懷疑問題是該元素存在於層次結構中,但尚未可見。 –

回答

1

這裏有一個簡單的測試,你可以做EarlGrey - 建立一個表視圖或使用EarlGrey的FunctionalTestApp並試圖滾動到一個內容邊緣,然後回來。在滾動的一箇中間,暫停測試,並添加以下到調試控制檯:

po [GREYElementHierarchy hierarchyStringForAllUIWindows] 

什麼,你可能會注意到的是,在層次結構,有可能是不可見的少數細胞屏幕。當您使用滾動搜索行動找到grey_accessibilityID(@"bar"),你要搜索,以確保只有該細胞存在於層次結構,而不是如果你能看到/與其交互。

請添加grey_sufficientlyVisible()到grey_accessibilityID(@「......」)的匹配,看看你會得到什麼。

+0

非常感謝回覆。添加'grey_interactable()'後,我仍然收到這個錯誤: 異常:NoMatchingElementException 原因:聲明'assertWithMatcher:interactable'沒有執行,因爲沒有UI元素匹配((respondsToSelector(accessibilityIdentifier)&& accessibilityID(「bar 「))&& interactable)被發現。 ' 在層次結構中,我可以看到按鈕存在。我認爲它可能在屏幕的邊界,但還有另一種視角模糊了它,這就是爲什麼我要將它滾動到視圖中。有任何想法嗎? – ArielSD

+0

爲什麼添加grey_interactable()?這隻能確保存在的元素在窗口框架中具有激活點,但沒有任何可見的元素。你可以添加grey_sufficientlyVisible()嗎? –

+1

很酷,我不知道!我會在編輯中加入這些內容,所以我不會混淆評論。 – ArielSD

相關問題