Derzeit verwende ich UIAutomator, um Android-UI-Tests durchzuführen. Im Grunde schreibe ich Java-Code, kompiliere ihn, installiere das jar und laufe.kann das AndroidViewClient-Skript auf dem Gerät oder von der App (nicht vom Terminal) ausgeführt werden
Angenommen, die UI-Test-App (UI-Vorgänge aus XML-Datei lesen) heißt AppTester.jar, mit der die entwickelte App namens myApp.apk getestet wird. Dann muss ich laufen:
Daher werden alle Tests auf dem Gerät, nicht vom Terminal, nach dem Ausführen von ADB-Befehl durchgeführt.
Jetzt möchte ich AndroidViewClient für Ansicht Vergleich irgendwo in meinen vorhandenen Tests verwenden. Um AndroidViewClient in das vorhandene Testframework zu integrieren, wäre es ideal, wenn ich das Skript (generiert von Culebra) auch das Culebra-Tool ausführen könnte, das das Skript in meinem AppTester.jar-Programm generiert.
Ist es möglich, das zu tun?
@ dtmilano, um meine Frage besser zu verfeinern, kann ich den in Culebra geschriebenen Code wiederverwenden, der den Baum der Ansichten ablegt/vergleicht und diesen Teil in eine Anwendung einwickelt, die dasselbe auf dem Gerät macht? Funktioniert nicht auf Produktions-Hardware oder funktioniert nur auf einem Android-Simulator, erfordert Server/Client-Struktur? – emilywuq
Wie ich in meiner Antwort erwähnt habe, benötigen Sie einige Berechtigungen in Ihren Tests, die nur gewährt werden, wenn Sie sie von 'adb' ausführen. Welche Tests von einer Anwendung gestartet wurden, ist möglicherweise durch die Berechtigungen eingeschränkt. Stellen Sie sich vor, jede App könnte auf die Ansichten anderer Apps zugreifen, dies wäre ein großes Sicherheitsproblem. –
@ dtmilano, ich verstehe, dass uiautomator von adb ausgeführt werden muss. Die Fähigkeit, die ich haben möchte, ist, dass, sobald iuatumator meine AppTester.jar (adb Shell uiautomator läuft AppTester.jar -c com.uia.example.my.AppTester) laufen lässt, könnte ich Culebra-Skript (oder Java-Code) aus meinem AppTester heraus ausführen .jar, nehme an, dass ich den Culebra-Code wiederverwende und ihn ordnungsgemäß in AppTester.jar einpacke. Ist Culebra Tester oder ein Work-Around-Python (Culebra Python-Skript) in der Lage, das zu erreichen? – emilywuq