AWS Device Farm – Häufig gestellte Fragen

Tests auf echten mobilen Geräten

AWS Device Farm bietet Entwicklern die Möglichkeit, die Anwendungsqualität, die Markteinführungszeit und die Kundenzufriedenheit zu verbessern, indem sie ihre Anwendungen mit echten Android- und iOS-Geräten in der AWS Cloud testen. Entwickler können ihre App- und Testskripts hochladen und automatisierte Tests auf Hunderten von echten Geräten ausführen, um minutenschnell Ergebnisse, Screenshots, Video- und Leistungsdaten zu erhalten. Zudem gestattet ihnen die Lösung, Kundenprobleme zu reproduzieren und zu beheben, indem sie über ihren Webbrowser Wisch- und Handbewegungen auf einem Gerät ausführen und mit dem Gerät interagieren können.

AWS Device Farm wurde für Entwickler, QA-Teams und Mitarbeiter des Kundensupports konzipiert, die Mobil-Apps erstellen, testen und unterstützen, um die Qualität der Apps zu steigern. Die Qualität der Anwendungen gewinnt zunehmend an Bedeutung. Auch die Komplexität steigt aufgrund der wachsenden Anzahl von Gerätemodellen, Firmware-Varianten, und Betriebssystemversionen sowie der individuellen Anpassungen an Mobilfunkanbieter und Hersteller. Die Abhängigkeiten von Remote-Services und anderen Apps spielt ebenfalls eine Rolle. AWS Device Farm beschleunigt den Entwicklungsprozess, indem Tests auf mehreren Geräten ausgeführt werden können. Entwickler, QA- und Supportexperten erhalten die Möglichkeit, automatisierte Tests und manuelle Aufgaben auszuführen. Sie können damit unter anderem Kundenprobleme reproduzieren, neue Funktionen testen und manuelle Testpläne ausführen. AWS Device Farm bietet zudem erhebliche Einsparungen, da keine internen Gerätelabore oder Laborleiter benötigt werden und keine Infrastruktur zur Automatisierung entwickelt werden muss.

AWS Device Farm unterstützt native und hybride Android-, iOS- und Web-Apps sowie plattformübergreifende Apps, einschließlich solcher, die mit PhoneGap, Titanium, Xamarin, Unity und anderen Frameworks erstellt wurden.

Tests in AWS Device Farm werden auf echten Geräten ausgeführt. Die Geräteflotte besteht aus Geräten von Erstausrüstern und Mobilfunkanbietern.

Einrichten von Tests und Sitzungen für Fernzugriffe

Lesen Sie dazu unser Handbuch Erste Schritte.

AWS Device Farm funktioniert auf Internet Explorer 9 oder höher und den neuesten Versionen von Chrome, Firefox und Safari.

Ihre Webanwendungen werden in Chrome unter Android und iOS getestet.

AWS Device Farm unterstützt Dateien mit einer Größe bis zu 4 GB.

Zur Durchführung der integrierten Tests sind weder eine Konfiguration noch Quellcode nötig. Android-Apps können einfach eingereicht werden. iOS-Apps müssen mit einem "iOS Device" als Ziel anstelle eines Simulators entwickelt werden.

Apps und Testpakete werden nach 30 Tagen automatisch entfernt. Protokolle, Videoaufzeichnungen und sonstige Artefakte werden 400 Tage gespeichert. Sie können Dateien und Ergebnisse auch jederzeit über die AWS Device Farm-Konsole oder API löschen.

Nachdem Sie Ihre Tests abgeschlossen haben, führen wir auf jedem Gerät eine Reihe von Bereinigungstasks durch, wobei u. a. auch Ihre Anwendung deinstalliert wird. Ist für uns die Deinstallation Ihrer Anwendung oder die erfolgreiche Durchführung anderer Bereinigungsschritte nicht eindeutig nachweisbar, wird das Gerät aus dem Verkehr gezogen und steht somit nicht mehr zur Verfügung.

Wir arbeiten ständig an der Erweiterung unserer Bereinigungsschritte, um den Bereinigungsprozess zu optimieren. Dennoch kann es in seltenen Fällen vorkommen, dass Daten zwischen Sitzungen erhalten bleiben, insbesondere, wenn Sie das Gerätesystem auch außerhalb des Kontexts Ihrer Anwendung nutzen. Aus diesem Grund, und auch weil AWS Device Farm ein Video und ein Protokoll Ihrer Aktivitäten auf den einzelnen Geräten aufzeichnet, empfehlen wir Ihnen, während Ihrer automatisierten Tests und Fernzugriffssitzungen keine sensiblen Informationen wie Kontodaten (z. B. Google-Konten oder Apple-IDs), persönlichen Angaben und andere in puncto Sicherheit kritischen Details einzugeben bzw. bereitzustellen.

Bei iOS ersetzen wir das integrierte Bereitstellungsprofil durch ein Platzhalterprofil und geben die App auf. Falls Sie es wünschen, werden wir dem Anwendungspaket vor der Installation Hilfsdaten hinzufügen, sodass diese dann in der App-Sandbox bereitstehen. Das Aufgeben der iOS-App führt zur Entfernung bestimmter Berechtigungen. Dazu gehören App Group, Associated Domains, Game Center, HealthKit, HomeKit, Wireless Accessory Configuration, In-App Purchase, Inter-App Audio, Apple Pay, Push Notifications und VPN Configuration & Control.

Auf Android geben wir die App auf. Davon können Funktionen beeinträchtigt werden, die von der App-Signatur abhängig sind, etwa die Google Maps Android API. Außerdem kann dadurch die Erkennung zur Verhinderung von Raubkopie und Fälschung ausgelöst werden, die in Produkten wie DexGuard verfügbar ist. Zur Durchführung der integrierten Tests verändern wir möglicherweise das Manifest, um die erforderlichen Berechtigungen zur Aufnahme und Speicherung von Screenshots zu erhalten.

Auswählen von Geräten

AWS Device Farm besitzt eine große (und stets ansteigende) Flotte von Android-, iOS- und Fire OS-Geräten. Wir fügen beliebte neue Geräte nach der Markteinführung durch den Hersteller hinzu. Wir fügen auch neue Geräte hinzu, wenn neue Betriebssystemversionen veröffentlicht werden. Hier finden Sie eine Liste der verfügbaren Geräte.

Wir haben aktuell internationale Geräte aus Indien. Wir verwenden Marktdaten und Kundenfeedback dazu, unsere Flotte kontinuierlich zu aktualisieren. Teilen Sie uns mit, wenn Sie ein Gerät hinzufügen möchten, das nicht Teil unserer Flotte ist.

Für automatisierte Tests werden Geräte über einen sogenannten Gerätepool ausgewählt. Manche nachgepflegten Gerätepools werden automatisch bereitgestellt, Sie können jedoch auch Ihre eigenen Pools erstellen. Bei der Durchführung werden die Tests auf allen Geräten im angegebenen Pool vorgenommen, die mit Ihrer Anwendung und Ihren Tests kompatibel sind. Für den Fernzugriff wählen Sie das gewünschte Gerät nach Marke, Modell, Mobilfunkanbieter und Betriebssystemversion aus. Anschließend können Sie Apps und sonstige Daten hochladen und weitere Geräteeinstellungen konfigurieren. Device Farm ermittelt daraufhin ein verfügbares Gerät, das Ihren Anforderungen entspricht, und zeigt dessen Display auf Ihrem Browser an. Sie können jetzt mit dem Gerät interagieren und Screenshots und Videos erfassen.

Ja. Auf den Testgeräten sind eine Reihe von Apps vorhanden, die vom Gerätehersteller oder Mobilfunkanbieter vorinstalliert wurden.

Ja. Alle Geräte verfügen über eine WLAN-Verbindung mit Internet-Zugang. Falls Sie interne Systeme verwenden (Systeme hinter einer Unternehmens-Firewall), können Sie den IP-Adressenbereich 54.244.50.32–54.244.50.63 erlauben. Der gesamte Geräteverkehr läuft über diese IP-Adressen.

Sie können zwar keine Anbieterverbindungen direkt testen, es besteht jedoch die Möglichkeit, Verbindungstypen und -bedingungen über die Netzwerkformungsfunktionen zu simulieren. Bei der Zeitplanung einer Ausführung können Sie ein kuratiertes Netzwerkprofil wie "3G" oder "Lossy LTE" auswählen oder Ihr eigenes Profil erstellen und dabei Parameter wie Durchsatz, Jitter und Verlust steuern. Der gesamte WiFi-Datenverkehr vom Gerät wird für die Dauer Ihrer Tests entsprechend des von Ihnen gewählten Profils geformt und manipuliert. Sie können auch dynamische Umgebungen simulieren. Dazu ändern Sie die Netzwerkparameter in Ihren Testskripts.

Nein. Die Geräte sind nicht mit einem Mobilfunkanbieter verbunden und über sie können keine Anrufe getätigt oder SMS-Nachrichten gesendet werden.

Ja. Sie können beide Gerätekameras (Vorder- und Rückseite) verwenden. Aufgrund der Anbringung der Geräte sind Bilder und Videos möglicherweise dunkel und unscharf.

App testen

Mit der vorkonfigurierten Test-Suite zum Testen der Kompatibilität können Sie Fuzz auf der App installieren, deinstallieren, starten und ausführen.

Fuzz führt direkt nach dem Start das Fuzzing auf Ihrer Benutzeroberfläche aus. Fuzz streamt dabei die schnelle, zufällige Nutzereingabe (Tippen, Wischen, Tastatureingabe) in Ihre App. Sie können die Anzahl der Ereignisse, den Abstand zwischen den Ereignissen und den Startwert für die Randomisierung der Ereignisse konfigurieren. Wenn Sie denselben Startwert für mehrere Testdurchläufe verwenden, werden die Ereignisse in derselben Reihenfolge ausgeführt.

AWS Device Farm unterstützt Tests mit nativen, Hybrid- und Web-Anwendungen für die Android- und iOS-Plattformen. Die folgenden Frameworks werden standardmäßig unterstützt: Appium Java JUnit, Appium Java TestNG, Appium Python, Appium Ruby, Appium NodeJS, Instrumentation (einschließlich JUnit, Espresso und den meisten instrumentationsbasierten Tests) und XCTest (einschließlich XCUI und KIF). Weitere Informationen und eine vollständige Liste der unterstützten Frameworks finden Sie in unserer Dokumentation.

Sie können Tests ausführen, die in Appium Java JUnit, Appium Java TestNG oder Appium Python geschrieben wurden.

Wir versuchen stets, neue Frameworks zu unterstützen. Bittenehmen Sie Kontakt mit uns auf.

Wenn Sie eines der unterstützten Frameworks zur Automatisierung verwenden, haben Sie vollständige Kontrolle und legen Sie fest, wann Screenshots aufgenommen werden. Diese Screenshots werden automatisch in Ihre Berichte aufgenommen.

Ja. Google Play Services ist auf den Geräten installiert, die den Service unterstützen. Die Services werden bei neuen Versionen aktualisiert.

Nein. Auf den Geräten befindet sich kein aktives Google-Konto.

AWS Device Farm unterstützt Frameworks wie Espresso und Robotium, die Skripting-Tools für die Aufnahme und Wiedergabe enthalten.

Nein, AWS Device Farm ersetzt automatisch ein Bereitstellungsprofil und gibt Ihre App auf, sodass sie auf Ihren Geräten bereitgestellt werden kann.

Nein, aber Sie können die Protokolldateien herunterladen und die Stack Traces lokal symbolifizieren.

Ja, wenn Sie ProGuard verwenden. Wenn Sie DexGuard mit den Schutzfunktionen vor Raubkopie verwenden, können wir die App nicht erneut signieren und die Tests nicht erneut ausführen.

Obwohl die Geräte Internetzugriff haben, können wir nicht garantieren, dass die Werbung angezeigt wird. Wir empfehlen, die Anzeigen vor den Build-Tests auf AWS Device Farm zu entfernen.

Ja. Wenn Sie ein Client-Server-Framework wie Calabash, Appium oder UI Automation verwenden, können Sie auf das Internet zugreifen und vom Host aus begrenzte Shell-Befehle ausführen.

Sie können ein ZIP-Archiv mit bis zu 4 GB senden. In Android wird es im Root-Verzeichnis des externen Speichers extrahiert, in iOS in der Sandbox Ihrer App. Android-Erweiterungsdateien (OBB) werden automatisch an den für das Betriebssystem geeigneten Ort verschoben. Weitere Informationen finden Sie im Entwicklerhandbuch.

Ja. Sie können mehrere Apps und auch die Reihenfolge, in der sie installiert werden, auswählen. Die abhängigen Apps werden dann vor dem Start der Tests installiert.

Ja. Um Ihren Upgrade-Ablauf zu testen, können Sie eine ältere Version Ihrer App hochladen und installieren, bevor die neue Version installiert und getestet wird.

Ja. Sie können die entsprechenden Koordinaten für Längen- und Breitengrad angeben, mit denen das GPS eines Gerätes überschrieben wird.

Ja. Sie können eine Sprache bereitstellen (z. B. "de_DE"), um die Standardspracheinstellung auf dem Gerät zu überschreiben.

Tests werden unmittelbar in die Warteschlange für die Ausführung aufgenommen und starten in der Regel innerhalb von Minuten. Wenn ein oder mehrere Geräte nicht verfügbar sind, bleibt die Testausführung für diese Geräte so lange in der Warteschlange, bis die Geräte verfügbar sind. Die Tests auf anderen Geräten werden währenddessen ausgeführt.

Die zulässige Höchstdauer beträgt 150 Minuten. 

Ja. Wir verfügen über ein Plugin für die Jenkins-Umgebung zur fortlaufenden Integration und ein Gradle-Plugin, das mit Android Studio kompatibel ist. AWS Device Farm bietet außerdem programmatischen Support für alle Konsolenfunktionen einschließlich Einrichtung eines Tests und Download der Testergebnisse über eine API. Weitere Informationen finden Sie im API-Leitfaden zu AWS Device Farm. Neben der API können Sie auch über die AWS SDKs auf AWS Device Farm zugreifen.

Überprüfen der Ergebnisse

AWS Device Farm-Testberichte enthalten Informationen zu erfolgreichen/nicht erfolgreichen Tests, Absturzberichte, Testprotokolle, Geräteprotokolle, Screenshots, Videos und Leistungsdaten. Die Berichte enthalten außerdem detaillierte Daten zu jedem Gerät sowie allgemeine Ergebnisse wie die Häufigkeit eines bestimmten Fehlers. Die Fernzugriffsergebnisse umfassen Protokolle und ein Video der Sitzung.

AWS Device Farm-Berichte umfassen vollständige Systemlog- (Android) und Geräteprotokolle (iOS) sowie Protokolle vom Gerätehost und aus dem angegebenen Testframework.

Wenn Sie Daten in das Systemlog (Android) oder das Geräteprotokoll (iOS) schreiben, werden diese Protokolldateien in den Bericht aufgenommen. AWS Device Farm erfasst keine Nicht-Standard-Protokolle und keine anderen Artefakte, obwohl Sie Dateien über Ihr Testskript mithilfe der Internetverbindung des Geräts oder Gerätehosts übertragen können.

Preise

Die Preise basieren auf Geräteminuten. Diese wiederum werden durch die Dauer der Tests auf jedem ausgewählten Gerät ermittelt. AWS Device Farm wird mit einer einmaligen kostenlosen Testversion von 1.000 Geräteminuten geliefert.* Danach werden Kunden 0,17 USD pro Geräteminute berechnet. Wenn Ihr Testbedarf ansteigt, können Sie sich für einen Testplan ohne Zeiterfassung entscheiden. In diesem Fall können Sie für eine Pauschalgebühr von 250 USD pro Gerät und Monat unbegrenzt testen.

Die ersten 1000 Minuten auf Ihrem Gerät werden Ihnen gebührenfrei zur Verfügung gestellt. Dies ist ein einmaliger Test, der nicht verlängert werden kann. Nach Ablauf des kostenlosen Tests wird Ihnen der Standardtarif von 0,17 USD pro Geräteminute in Rechnung gestellt.

Eine Geräteminute ist die Abrechnungseinheit. Geräteminuten geben die Dauer (in Minuten) an, die zur Installierung, Ausführung und Deinstallierung Ihrer App und die Tests auf jedem Gerät, das Sie für Ihre Testläufe ausgewählt haben, benötigt wird. Der Einheitspreis ist unabhängig vom Gerät, Test oder Anwendungstyp immer derselbe. Geräteminuten werden nur für Tests berechnet, die ohne Geräte- oder Systemfehler abgeschlossen werden. Bei Fernzugriffssitzungen werden Geräteminuten vom Zeitpunkt der benutzerdefinierten Vorbereitung eines Geräts bis zum vollständigen Entfernen jeglicher von Ihnen auf dem Gerät gespeicherten Anwendungen und Daten gemessen.

Sie können Ihren Gebrauch je nach Geschäftsbedarf dynamisch erhöhen und reduzieren, ohne dass dabei Beschränkungen nach oben oder eine Verpflichtung im Voraus nötig sind.

Die ersten 1000 Minuten auf Ihrem Gerät werden Ihnen gebührenfrei zur Verfügung gestellt.* Dies ist eine einmalige Testversion, die nicht erneuert werden kann. Nach Ablauf des kostenlosen Tests wird Ihnen der Standardtarif von 0,17 USD pro Geräteminute in Rechnung gestellt.

Pauschalpläne bieten unbegrenzte Tests und Fernzugriff ab 250 USD pro Monat. Der Pauschalpreis richtet sich nach der Anzahl der Gerätesteckplätze, die Sie für jeden Nutzungstyp (automatisierte Tests oder Fernzugriff) und jede Gerätefamilie (Android oder iOS) erwerben. Die Monatsgebühr pro Steckplatz beträgt 250 USD. Die Gerätesteckplätze werden für die parallele Ausführung abgestimmt.

Beispiel: Wenn Sie zehn Android-Gerätesteckplätze für automatisierte Tests erwerben und eine Ausführung auf 100 unterschiedlichen Android-Geräten planen, führt Device Farm die Tests jeweils auf bis zu zehn Geräten gleichzeitig durch, bis alle Tests auf den ausgewählten Geräten abgeschlossen sind. Je mehr Steckplätze Sie erwerben, desto schneller erhalten Sie Ihre Ergebnisse. Ungeachtet dessen, wie viele Tests oder Fernzugriffssitzungen Sie in einem Monat ausführen, wird pro Gerätesteckplatz die monatliche Pauschale von 250 USD berechnet. Sie können Ihr Abonnement für einen oder mehrere Gerätesteckplätze jederzeit beenden. Diese Kündigung wird zum nächsten Verlängerungsdatum (der Tag des Monats, an dem Sie Ihren ersten aktiven Gerätesteckplatz gekauft haben) wirksam. Sie können Steckplätze über die AWS-Device-Farm-Konsole, die AWS-Befehlszeilenschnittstelle (AWS CLI) oder die AWS-Device-Farm-API erwerben. Weitere Informationen finden Sie in unserer Dokumentation.

Sie können jederzeit Gerätesteckplätze hinzufügen. Diese stehen Ihnen sofort zur Verfügung. Sie können Ihr Abonnement auch für einen oder mehrere Geräteplätze jederzeit beenden. Diese Kündigung wird zum nächsten Verlängerungsdatum (der Tag des Monats, an dem Sie Ihren ersten aktiven Geräteplatz gekauft haben) wirksam.

Ja. Sie können beim Erstellen einer Ausführung wählen, ob Sie Ihre Pauschalgerätesteckplätze oder die Abrechnung nach Minuten verwenden möchten. Die gleichzeitige Ausführung ist nicht auf eine zeitgenaue Abrechnung beschränkt. Sie können Tests somit flexibel und schneller ausführen, als dies mit Ihren Gerätesteckplätzen möglich wäre.

Ein privates Gerät ist ein physisch tatsächlich existierendes Telefon oder Tablet, das ausschließlich Ihrem Konto zugeschrieben ist. Die Konfiguration eines privaten Geräts kann benutzerdefiniert und statisch sein, und auf dem Gerät kann ein benutzerdefiniertes Betriebssystem-Image ausgeführt werden. Jedes Gerät wird ausschließlich für Sie bereitgestellt und nach Beendigung Ihres Abonnements entfernt.

Jedes Ihrem Konto zugeschriebene private Gerät wird als eigenes Geräteabonnement gewertet. Der monatliche Abonnementpreis richtet sich nach den Kosten des Geräts und beginnt bei 200 USD pro Monat. Nach Ablauf der Mindestabonnementdauer können Sie das Abonnement jederzeit kündigen. Kontaktieren Sie uns, wenn Sie weitere Informationen erhalten möchten.

Ja. Wenn Sie Geräte für einen Testlauf oder eine Remote-Zugriffssitzung auswählen, können Sie Ihre privaten und auch die öffentlichen Geräte sehen. Sie können auch Gerätepools erstellen, die aus privaten und öffentlichen Geräten bestehen. Wenn Sie weitere Informationen zu privaten Geräten wünschen, kontaktieren Sie uns.

Tests mit Desktop-Browsern

Selenium ist ein Open-Source-Framework, das die Interaktion mit dem Webbrowser automatisiert. Hier erhalten Sie weitere Informationen zu Selenium.

Mit der Device Farm können Sie Ihre Selenium-Tests auf verschiedenen Desktop-Browsern und Browserversionen ausführen, die in der AWS-Cloud gehostet werden. Device Farm folgt einem clientseitigen Ausführungsmodell für Selenium-Tests, d. h. Ihre Tests werden auf Ihrem eigenen lokalen Rechner ausgeführt, interagieren aber mit Browsern, die auf der AWS Device Farm über die Selenium-API gehostet werden.

Um zu beginnen, lesen Sie bitte unser Handbuch „Erste Schritte“ hier.

Alle Browser werden auf EC2 Windows-Instances gehostet, die auf Microsoft Windows Server laufen.

Die Liste der unterstützten Desktop-Browser und Browserversionen können Sie hier einsehen.

Sie können die Liste der gewünschten Selenium-Funktionen, die Device Farm unterstützt, hier einsehen.

Device Farm generiert Konsolenprotokolle, Web-Treiberprotokolle, Aktionsprotokolle und Videoaufzeichnungen des gesamten Tests, um Ihnen bei der Fehlerbehebung von Testfehlern zu helfen.

Ja. Device Farm unterstützt das Testen von Webanwendungen auf echten mobilen Geräten mit Appium. Besuchen Sie unser Entwicklerhandbuch für Appium Web Testing, um mehr zu erfahren. Bitte beachten Sie, dass für Tests auf echten mobilen Geräten die Device Farm einem serverseitigen Ausführungsmodell folgt, und Sie daher Ihre Tests auf den Dienst hochladen müssen.

Alle Einschränkungen für dieses Feature finden Sie hier.

Die Preise basieren auf Instance-Minuten. Diese wiederum werden durch die Dauer der Tests auf jedem ausgewählten Browser-Instance ermittelt. Ihnen werden 0,005 USD pro Minute der Browser-Instance berechnet.

Eine Instance-Minute ist die Abrechnungseinheit für Desktop-Browser-Tests auf der Device Farm. Instance-Minuten sind ein Maß für die Zeit, die Sie für die Ausführung Ihrer Tests auf jeder von Ihnen für Ihren Testlauf ausgewählten Browser-Instance benötigen (in Minuten). Der Stückpreis von 0,005 USD ist konstant, unabhängig vom gewählten Browser oder der Browserversion. Wir berechnen Ihnen nicht die Zeit, die für den Start, die Initialisierung oder das Herunterfahren der EC2-Instance, die den Browser hostet, benötigt wird.