2017-06-07 4 views
0

Ich habe eine iOS App in Swift erstellt und Firebase Auth und DB für das Backend verwendet. Ich kann nicht sehr detailliert auf die Besonderheiten eingehen, aber es beinhaltet Geolocation-Dienste, und ist ähnlich (wenn auch viel einfacher) zu Uber/Lyft. Beide Fahrer/Fahrer teilen sich die gleiche App. Sie müssen auf eine andere Schaltfläche klicken, um zur Treiberschnittstelle zu gelangen.Approach zum Testen einer Geolocation iOS App

Ich muss eine Simulation erstellen, wo mehrere virtuelle Benutzer (beide Fahrer/Fahrer) die Anwendung zur gleichen Zeit verwenden (ich möchte Erfolg/Misserfolg jeder Aktion sowie Antwortzeit messen). Ich muss die Simulation nicht randomisieren, aber ich muss der Tatsache Rechnung tragen, dass es eine Interaktion zwischen zwei Benutzern gibt. Mit anderen Worten, es ist nicht der übliche Leistungstest, bei dem Sie sich anmelden, das Profil ansehen, das Profil aktualisieren, sich abmelden usw. Es besteht eine Abhängigkeit von einem Teil des Tests, der abgeschlossen sein muss, bevor der andere beginnen kann.

Ich würde gerne sehen, ob ich irgendwelche Ideen über den besten Ansatz, um dies zu behandeln bekommen könnte. Ich kann mehr Details/Kontext bei Bedarf zur Verfügung stellen.

Antwort

1

Es gibt etwas Bluepill https://github.com/linkedin/bluepill genannt, aber es wird nur verwendet, gleichzeitige XCTest Fällen und Simulatoren zu starten, ist es nicht die Reihenfolge der Tests gewährleisten, so wird es nicht für Sie arbeiten

Sie erstellen können UI-Tests und führen sie auf zwei verschiedenen Macs, aber Sie müssen herausfinden, wie Test interagieren und es scheint schwierig.

Ich würde-only-testing Merkmal der xcodebuild verwenden vorschlagen

Sie können für Reiter ein UI-Test Target erstellen und eine weitere Testziel für Treiber und verwenden Sie dann die -only-testing Flagge für Xcode-Tests.

Wenn Tests voneinander abhängig sind, können Sie tun

-only-testing:RiderUITests/Test1 
-only-testing:DriverUITests/Test1 

-only-testing:RiderUITests/Test2 
-only-testing:DriverUITests/Test2 

Sie bekommen die Idee.

Grundsätzlich können Sie ein Skript schreiben oder fastlanehttps://github.com/fastlane/fastlane verwenden und nur einen Test nacheinander ausführen.

+0

Danke für die Antwort, ich gab Ihnen die beste Antwort. Ich brauche eine Methode, um Metriken und Antwortzeiten zu berechnen, also bin ich mir nicht sicher, ob Bluepill funktioniert, aber ich werde es trotzdem überprüfen, da es interessant aussieht. – user2411290

Verwandte Themen