Ich möchte UIAutomation (JavaScript-basierte) Tests für eine ziemlich komplexe iPhone App schreiben. Ich möchte nicht eine einzige große Datei verwenden, sondern die Testfunktionen und Helfer in mehrere Dateien aufteilen. Ist das überhaupt möglich? Wie strukturieren Sie Ihre UIAutomation-Tests?
Antworten
Zu viele Anzeigen?Hallo.
Ja, das ist es. Obwohl import
Schlüsselwort ist nicht für JS in Browsern implementiert, es ist in Instruments implementiert. Sie schreiben einfach #import "somefile.js"
in der JS-Datei "master", die Sie mit Instruments ausführen. Ich habe nicht versucht, Dateien von anderen Orten als der Originaldatei, die Sie den Instrumenten zur Verfügung stellen, einzubinden, aber Unterordner für diesen Ort funktionieren.
Siehe folgendes Beispiel auf der Grundlage von diese Stelle :
#import "fileInTheSameDirectory.js"
#import "SubDirectory/fileInSubDirectory.js"
UIAutomation kann nicht mit großen Skriptdateien umgehen, in denen Sie Ihre Tests, Hilfsfunktionen usw. bündeln könnten. - unter Verwendung der #include
Richtlinie. Dies ist jedoch die einzige Möglichkeit, mehrere Tests, die in separaten Dateien gespeichert sind, manuell durchzuführen.
Ich habe dieses Problem beim Aufbau eines kleinen (600-700 Zeilen oder 25KB Code) JS-Framework, das in der Lage ist, Test-Sets und Suiten laufen begegnet.
Die Teststruktur, die ich mir ausgedacht habe:
#import "test_scripts.js"
#import "test_data.js"
#import "helper_tools.js"
tools.runTestSet(TestContainer);
Wo TestContainer
ist der Link zu einem Objekt, das alle meine Testfälle als seine Felder/Mitglieder enthält. Und test_data.js
kapselt Daten in einem JSON-Container.
P.S.: Zuerst dachte ich, dass UIAutomation hat ein großes Potenzial, aber im Laufe der Zeit wurde ich enttäuscht. Man kann mit diesem Tool keine vollständigen Automatisierungstests durchführen. Denken Sie auch daran, dass es Ihnen nur eine API für die Arbeit mit der Benutzeroberfläche zur Verfügung stellt: kein Zugriff auf die "Back-End"-Prozesse.