Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Interaktion mit dem Gerät mithilfe von Appium
Nachdem Sie eine Fernzugriffssitzung erstellt haben, steht das Gerät für Appium-Tests zur Verfügung. Während der Dauer der Fernzugriffssitzung können Sie so viele Appium-Sitzungen auf dem Gerät ausführen, wie Sie möchten, ohne Einschränkungen hinsichtlich der verwendeten Clients. Sie können beispielsweise zunächst einen Test mit Ihrem lokalen Appium-Code von Ihrer IDE aus ausführen und dann zur Verwendung von Appium Inspector wechseln, um alle auftretenden Probleme zu beheben. Die Sitzung kann bis zu 150 Minuten dauern. Wenn jedoch länger als 5 Minuten keine Aktivität stattfindet (entweder über die interaktive Konsole oder den Appium-Endpunkt), läuft die Sitzung ab.
Verwenden Sie Apps zum Testen mit Ihrer Appium-Sitzung
Es gibt mehrere Möglichkeiten, eine App zur Verwendung mit Ihrer Appium-Sitzung bereitzustellen:
-
Laden Sie eine App auf Device Farm hoch und installieren Sie sie in der Sitzung.
-
Geben Sie eine HTTPS-URL oder eine Amazon Simple Storage Service (Amazon S3) -URI als
appium:appFunktion an. -
Verweisen Sie anhand des Paketnamens auf eine bereits installierte App (
appium:appPackageunter Android oderappium:bundleIdiOS). -
Testen Sie eine Web-App, indem Sie die
browserNameFunktion angeben (Chromeauf Android,Safariauf iOS).
Die Standardgrößenbeschränkungen für Apps (4 GB) gelten für alle App-Quellen.
Anmerkung
Device Farm unterstützt nicht die Weitergabe eines lokalen Dateisystempfads appium:app während einer Fernzugriffssitzung.
Apps hochladen, installieren und verwenden
Gehen Sie folgendermaßen vor, um eine hochgeladene App mit Ihrer Appium-Sitzung zu verwenden:
-
Laden Sie Ihre App hoch und installieren Sie sie
Es gibt zwei Möglichkeiten, eine App hochzuladen und auf dem zu testenden Gerät zu installieren:
-
Fügen Sie das App-ARN in Ihre
CreateRemoteAccessSessionAnfrage ein. Die App wird automatisch auf dem Gerät installiert, wenn die Sitzung beginnt. Sie können auch zusätzliche App-ARNs hinzufügen, die zusammen mit der primären App installiert werden. -
Installieren Sie die App während einer aktiven Sitzung mithilfe der
InstallToRemoteAccessSessionAPI oder indem Sie sie über die Device Farm-Konsole hochladen. Auf diese Weise können Sie die zu testende App ändern, ohne eine neue Sitzung zu erstellen.
-
-
Verwenden Sie die installierte App
Nach der Installation wird die App automatisch als
appium:appStandardfunktion für alle nachfolgenden Appium-Sitzungen eingefügt. Wenn Sie zusätzliche Apps hinzugefügt haben, werden diese alsappium:otherAppsFunktion festgelegt.Wenn Sie beispielsweise eine Fernzugriffssitzung
com.aws.dev.rproxy.goskope.comicefarm.sampleals Ihre App undcom.aws.dev.rproxy.goskope.comicefarm.other.sampleals eine Ihrer Zusatz-Apps erstellen, verfügt diese beim Erstellen einer Appium-Sitzung über ähnliche Funktionen wie die folgenden:{ "value": { "sessionId": "abcdef123456-1234-5678-abcd-abcdef123456", "capabilities": { "app": "/tmp/com.aws.dev.rproxy.goskope.comicefarm.sample.apk", "otherApps": "[\"/tmp/com.aws.dev.rproxy.goskope.comicefarm.other.sample.apk\"]", ... } } }Wenn Sie während der Sitzung eine neue App installieren, ersetzt diese die aktuelle
appium:appFunktion. Wenn die zuvor installierte App einen eindeutigen Paketnamen hat, verbleibt sie auf dem Gerät und wird in dieappium:otherAppsFunktion übernommen.Wenn Sie die Appium-Sitzung beispielsweise ursprünglich
com.aws.dev.rproxy.goskope.comicefarm.samplebeim Erstellen Ihrer Fernzugriffssitzung verwenden, dann abercom.aws.devicefarm.other.samplewährend der Sitzung installieren, verfügen Ihre Appium-Sitzungen über ähnliche Funktionen wie die folgenden:{ "value": { "sessionId": "abcdef123456-1234-5678-abcd-abcdef123456", "capabilities": { "app": "/tmp/com.aws.dev.rproxy.goskope.comicefarm.other.sample.apk", "otherApps": "[\"/tmp/com.aws.dev.rproxy.goskope.comicefarm.sample.apk\"]", ... } } }
Anmerkung
Weitere Informationen zum automatischen Hochladen von Apps als Teil Ihrer Fernzugriffssitzung finden Sie unter. Automatisierung der Gerätefarm
Verwenden einer HTTPS-URL
Sie können beim Erstellen einer Appium-Sitzung eine öffentlich zugängliche HTTPS-URL als appium:app gewünschte Funktion angeben. Die URL muss direkt auf eine herunterladbare App-Datei verweisen (z. B. eine .apk .ipa OR-Datei). Device Farm lädt die App von der angegebenen URL herunter und installiert sie auf dem zu testenden Gerät.
Wichtig
Nur HTTPS-URLs werden unterstützt. Einfache HTTP-URLs werden abgelehnt.
Mit der folgenden Anfrage zur Erstellung einer Appium-Sitzung wird beispielsweise eine App von einer HTTPS-URL heruntergeladen:
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"appium:app": "https://example.com/path/to/MyApp.apk"
}
]
}
}
Mithilfe einer Amazon S3-URI
Sie können eine Amazon S3-URI (z. B.s3://amzn-s3-demo-bucket/path/to/MyApp.ipa) als appium:app gewünschte Funktion angeben, wenn Sie eine Appium-Sitzung erstellen. Device Farm lädt die App vom angegebenen Amazon S3-Standort herunter und installiert sie auf dem zu testenden Gerät.
Um eine Amazon S3-URI zu verwenden, müssen die folgenden Anforderungen erfüllt sein:
-
Die Fernzugriffssitzung muss von einem Projekt aus gestartet werden, für das eine IAM-Ausführungsrolle konfiguriert ist.
-
Die IAM-Ausführungsrolle muss eine maximale Sitzungsdauer von mindestens 150 Minuten haben. Dies ist der Fall, da die Rolle für die Dauer der RAS-Sitzung übernommen wird.
-
Die IAM-Ausführungsrolle muss die Berechtigung haben, das in
s3:GetObjectder URI angegebene S3-Objekt aufzurufen. Diese Berechtigung autorisiert auch denHeadObjectAPI-Aufruf für dasselbe Objekt, sodass Device Farm die Existenz des Objekts überprüfen kann, bevor der Download versucht wird.
Mit der folgenden Anfrage zur Erstellung einer Appium-Sitzung wird beispielsweise eine App von einer Amazon S3-URI heruntergeladen:
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"appium:app": "s3://amzn-s3-demo-bucket/apps/MyApp.ipa"
}
]
}
}
Das Folgende ist ein Beispiel für eine IAM-Berechtigungsrichtlinie, die den empfohlenen Zugriff für das Herunterladen einer App von Amazon S3 gewährt. Die s3:GetObject Berechtigung autorisiert auch den HeadObject API-Aufruf, der verwendet wird, um die Existenz des Objekts zu überprüfen. Weitere Hinweise zur Konfiguration von IAM-Ausführungsrollen finden Sie unter. Greifen Sie mithilfe einer IAM-Ausführungsrolle auf AWS-Ressourcen zu
Beispiel
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject" ], "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/apps/*" } ] }
Verwenden einer bereits installierten App
Wenn die App, die Sie testen möchten, bereits auf dem Gerät installiert ist, können Sie sie direkt anhand des Paketnamens referenzieren, anstatt sie hochzuladen. Verwenden Sie die appium:appActivity Funktionen appium:appPackage und auf Android oder die appium:bundleId Funktion auf iOS.
Mit der folgenden Anfrage zur Erstellung einer Appium-Sitzung wird beispielsweise eine Android-App gestartet, die bereits installiert ist:
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"appium:appPackage": "com.example.myapp",
"appium:appActivity": "com.example.myapp.MainActivity"
}
]
}
}
Verwenden Sie auf iOS appium:bundleId stattdessen:
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"appium:bundleId": "com.example.myapp"
}
]
}
}
Eine Web-App testen
Um eine Web-App zu testen, geben Sie die browserName Funktion in Ihrer Anfrage zur Erstellung einer Appium-Sitzung an. Verwenden Sie es Chrome auf Android-Geräten oder Safari auf iOS-Geräten.
Mit der folgenden Anfrage wird Chrome beispielsweise auf einem Android-Gerät geöffnet:
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"browserName": "Chrome"
}
]
}
}
Wie benutzt man den Appium-Endpunkt
Hier sind die Schritte, um über die Konsole, die und die SDKs auf den Appium-Endpunkt der AWS CLI Sitzung zuzugreifen. AWS Diese Schritte beinhalten den Einstieg in die Ausführung von Tests mithilfe verschiedener Appium-Client-Testframeworks: