2016-10-03 1 views
-1

Ich schreibe automatisierte Tests zu meiner Anwendung mit Calabash-Framework.Wie kann ich das Aktivitätssystem des Benutzers auf Android-Geräten simulieren?

In einigen Fällen muss ich die Kamera starten und einige Aktionen wie Foto oder Video aufnehmen. Um diese Aktionen ausführen zu können, muss ich eine Schaltfläche in der Kamera finden und antippen, aber Calabash bietet nur die Interaktion mit der Testanwendung.

Also, hier ist die Frage: Gibt es irgendwelche Frameworks oder etwas anderes, die Systemaktionen des Benutzers simulieren können?

+0

Diese Frage ist zu breit, da es möglicherweise zu viele richtige Antworten gibt oder die Antworten weitgehend auf der Grundlage von Meinungen basieren. Darüber hinaus generieren viele gute Fragen aufgrund von Expertenerfahrungen ein gewisses Maß an Meinungsbildung, aber die Antworten auf diese Frage basieren eher auf Meinungen als auf Fakten, Referenzen oder spezifischen Fachkenntnissen. –

Antwort

3

Wenn Sie System oder Drittanbieter-App interagieren möchten, bedeutet bessere Optionen Android UIautomator.

Es kann Benutzeraktion auf über Android-Gerät Anwendungen simulieren und Sie können weitere Informationen here

Folgende Werkzeuge werden eingewickelt Android UI Automator finden zu leicht zu machen, es zu benutzen.

  1. Appium - website
  2. Python UI Automator - github link

Es gibt drei Wege, Ihr Ziel achive können,

  1. Sie irgendeine von Werkzeug verwenden, die erwähnt wird Dann müssen Sie Enier-Skripte neu schreiben

  2. Wenn du keine Enier-Skripte umschreiben willst, musst du python uiautomator verwenden. Grundsätzlich müssen Sie Python-Skripte für System & Anwendungen von Drittanbietern Interaktionen schreiben, dann müssen Sie in Ihrem Ruby-Code wie diese, die Python-Datei aufrufen:

    System 'Python file_path/file_name.py'

  3. Letzte Optionen ist, wenn Ihre Aktion ist sehr wenig außerhalb Ihrer Kernanwendung, dann müssen Sie ADB-Befehle verwenden, die sehr einfach und einfach zu bedienen, zum Beispiel muss ich Kamera, foucus öffnen und Bild verwenden folgenden Befehl:

    system 'adb shell "am start -a android.media.action.IMAGE_CAPTURE"' 
    system 'adb shell "input keyevent KEYCODE_FOCUS"' 
    system 'adb shell "input keyevent KEYCODE_CAMERA"' 
    

In Ihrem Fall Calabash-Android mit Android Instrumentierung Rahmen gewickelt.

Calabash wird Ihre spezifische apk resignieren und Tests laufen gegen diese apk, also keine Möglichkeit, Calabash kann die andere App mit Hilfe von Calabash-Befehle automatisieren. Sie können mit einer der Optionen enden, die ich oben erwähnt habe.

Verwandte Themen