2016-05-16 8 views
1

Ich habe eine Sammlungsansicht in meiner App, die in einer Tabellenansicht Zelle ist (ja, ich weiß, es ist seltsam), und ich möchte UI Test das Scrollen der Sammlungsansicht. Ich benutze dafür den Aufnahmeknopf, aber Xcode identifiziert das Wischen in meiner Sammlungsansicht als Taps. Wenn ich den generierten UI-Testcode von [collectionview tap] zu manuell ändere, funktioniert es, aber Xcode wird den Code zum automatischen Wischen nicht erzeugen.Xcode 7 UI Test nicht Aufnahme Swipes

Was könnte das Problem sein?

+1

In Xcode 7.3.1 kann ich UI Testing überhaupt nicht ausführen, also sei einfach glücklich, wenn es für dich funktioniert. – matt

+0

Ja, ich würde glücklich sein, aber das tut es nicht! –

Antwort

0

Ich glaube, Sie sollten einen Fehler bei Apple einreichen und ein Beispielprojekt einschließen.

Es kann für das Aufnahmesystem schwierig sein, zwischen einem Antippen, einem langen Drücken und einem Swipe zu unterscheiden. Während ich die Aufzeichnung von Tap-Ereignissen als zuverlässig angesehen habe, finde ich, dass ich manuell irgendwelche Schritte für Swipes oder TypeText eintippe. Im Allgemeinen verwende ich die UI-Testaufzeichnungsfunktion, um bei der Identifizierung bestimmter Elemente zu helfen, mit denen ich dann im Code arbeite, um die Benutzerinteraktionen festzulegen und zu bestätigen.

Wenn Sie ein Beispielprojekt auf github oder irgendwo mit Ihrer collectionView-inside-tableViewCell-Konfiguration erstellen möchten, wäre ich bereit, einen Blick darauf zu werfen.

BEARBEITEN: Nachdem ich Ihr Beispielprojekt versucht hatte, konnte ich manchmal Xcode dazu bringen, swipeLeft- und swipeRight-Ereignisse aus der ersten Zelle aufzuzeichnen. Es ist nicht die eleganteste Herangehensweise, aber mit dem Trackpad auf meinem MacBook Air starte ich einen horizontalen Schlag mit einem Finger, ohne die Maustaste zu drücken, und drücke dann den Knopf mit einem anderen Finger, während der erste Finger noch wischt.

Es gab einige Fälle, in denen Xcode dies einfach als Tap aufzeichnete und mindestens eine Instanz, in der es eine twoFingerTap aufzeichnete.

+0

Das wäre toll, danke! Die erste Tabellenzelle enthält die Sammlungsansicht, die zwei Zellen (rot und blau) enthält. https://github.com/balikaa16/Recall-Test –

+0

Sieht es jetzt – bneely

+0

Danke! @bneely –

1

Xcode erkennt nur eine Geste als Swipe, wenn Ihre Flugbahn mit der Geste schnell, direkt und getreu den (oben/unten/links/rechts) Richtung Sie in klauen sind.

Meine Vermutung ist, dass diese verhindert, dass Aufnahme-Ziehen oder Antippen-und-Halten-Gesten als Wischen verwendet werden, da diese vom Aufnahme-Tool nicht unterstützt werden. Wenn Sie sich für eine von beiden entscheiden würden, wäre eine Tippgeste näher.

Als Workaround notieren Sie, wo Sie einen Swipe erwartet haben, und wechseln Sie die Geste, wie Sie es gemacht haben, wenn Ihre Swipes nicht aufgezeichnet wurden.

Verwandte Themen