2017-01-30 2 views
0

Ich habe eine `UICollectionView ', in der ich nach unten scrollen kann, aber nicht nach oben scrollen kann. Ich bin mir nicht sicher, ob ich etwas sehr einfach fehlt bin - Hier ist der Code unten:Kann nicht mit EarlGrey nach oben scrollen

(Die Formatierung wurde seltsam, also hier ist ein Screenshot)

enter image description here

Der erste Block führt perfekt, aber Die App scrollt nicht mehr nach oben und die Schaltfläche, auf die ich tippen muss, bleibt außerhalb des Bildschirms.

Bearbeiten: versucht, grey_sufficientlyVisible nach @gran_profaci hinzufügen, und immer noch nicht das Element zu finden.

no UI element matching (matcherForSufficientlyVisible(>=0.750000) && (respondsToSelector(accessibilityIdentifier) && accessibilityID("bar"))) was found. Aber es existiert immer noch in der geloggten Hierarchie.

enter image description here

+0

Konnten Sie möglicherweise den Fehler zur Verfügung stellen, den Sie sehen? Ich vermute, dass das Problem darin besteht, dass das Element in der Hierarchie vorhanden ist, aber noch nicht sichtbar ist. –

Antwort

1

Hier ist ein einfacher Test, den Sie mit EarlGrey tun können - stellen Sie eine Tabellenansicht oder EarlGrey des FunctionalTestApp und versuchen verwenden, um einen Inhalt Rand scrollen und dann zurück. In der Mitte einer der Rollen, halten Sie den Test und fügen Sie im Anschluss an die an die Debug-Konsole:

po [GREYElementHierarchy hierarchyStringForAllUIWindows] 

Was Sie vielleicht ist bemerken, dass in der Hierarchie, es könnte ein paar Zellen, die nicht sichtbar auf die sind Bildschirm. Wenn Sie die Scroll-Suchaktion verwenden, um nach grey_accessibilityID(@"bar") zu suchen, möchten Sie nur sicherstellen, dass die Zelle in der Hierarchie vorhanden ist und nicht, wenn Sie sie sehen/mit ihr interagieren können.

Bitte fügen Sie grey_sufficientlyVisible() zu den grey_accessibilityID (@ "...") Matcher hinzu und sehen Sie, was Sie bekommen.

+0

Vielen Dank für die Antwort. Ich bin immer noch diesen Fehler nach der Zugabe von 'grey_interactable()': 'Ausnahme: NoMatchingElementException Grund: Assertion 'assertWithMatcher: interagierbare' wurde nicht durchgeführt, da kein UI-Element passend ((respondsToSelector (accessibilityIdentifier) ​​&& accessibilityID (" bar ")) && interagierbar) wurde gefunden. ' In der Hierarchie kann ich sehen, dass die Schaltfläche vorhanden ist. Ich denke, dass es in den Grenzen des Bildschirms ist, aber es gibt eine andere Sicht, die es verdeckt, deshalb versuche ich, es in Sicht zu scrollen. Irgendwelche Ideen? – ArielSD

+0

Warum hast du gray_interactable() hinzugefügt? Das stellt nur sicher, dass das vorhandene Element seinen Aktivierungspunkt im Fensterrahmen hat, aber nichts davon ist sichtbar. Könnten Sie gray_sufficientlyVisible() hinzufügen? –

+1

Das ist cool, das wusste ich nicht! Ich werde das in eine Bearbeitung einbeziehen, damit ich die Kommentare nicht verdunkle. – ArielSD

Verwandte Themen