2016-10-02 1 views
0

So baute ich meine iOS-App vollständig mit Code (alle Schnittstelle programmgesteuert gebaut). Die App ist ziemlich groß und jedes Mal, wenn ich die App starte, muss ich 3 oder 4 Mal klicken, um zu einem bestimmten View-Controller zu gelangen, um die Effekte zu sehen.iOS Automatisch klicken und zu bestimmten View-Controller gehen

Gibt es eine Möglichkeit, diesen Prozess zu automatisieren?

Also, wenn ich die App starte, wird es automatisch auf Knopf/Zelle klicken und zu bestimmten View-Controller gehen.

Ich kann den ursprünglichen Ansichtscontroller nicht anders einstellen, da ich Daten von Anfang an dem Controller übergeben muss, den ich sehen möchte.

Danke für Hilfe.

+0

sind Sie zu fragen, wie dies in einem Automatisierungstest Sinn zu tun, oder etwas anderes? – BHendricks

Antwort

1

Sie können XCTest Framework verwenden, um einen automatisierten Test zu erstellen. Sie müssen lediglich ein neues Ziel in Ihren Projekteinstellungen hinzufügen. Erstellen Sie dann einen Testfall für jede exemplarischen Vorgehensweise Ihrer Anwendung. Der Vorteil ist, dass Sie, nachdem Sie einen Teil Ihrer Anwendung geändert haben, einfach die Tests erneut ausführen können, um zu sehen, dass Sie nichts kaputt gemacht haben.

Xcode hat sogar eine Option, um die Tests aufzuzeichnen, so dass Sie es nicht vollständig von Hand programmieren müssen.

Apples Anleitung zur UI-Tests: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/09-ui_testing.html

Wie UI Tests aufzuzeichnen: https://developer.apple.com/library/content/documentation/ToolsLanguages/Conceptual/Xcode_Overview/RecordingUITests.html

+0

Kann die App nach dem XCTest geöffnet bleiben? was passiert ist, ist, dass die app schließen/beenden, nachdem der Test abgeschlossen ist. – harryfeng

+0

Nicht so weit ich weiß. Sie können am Ende des Tests den Aufruf von sleep() hinzufügen, wodurch Sie die App verwenden können, obwohl das nicht sehr elegant ist. – davidv

0

Sie können Delegate Muster oder Blöcke verwenden, um zu warten, bis Sie die Daten erhalten, dann rufen Sie Ihre Methoden (wenn Sie den Indexpfad der Schaltfläche/Tabellenzelle kennen) zu Ihrem Ziel mit den Daten zu gehen. Sie können den gesamten Prozess programmgesteuert durchführen.

+0

Es ist möglich. aber ich muss eine Menge extra im View-Controller hinzufügen. Das Auto-Klick-Ding ist für Entwicklungszwecke, ich möchte nicht später in der VC hinzufügen und löschen. – harryfeng

Verwandte Themen