Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Interaction avec l'appareil à l'aide d'Appium
Une fois que vous avez créé une session d'accès à distance, l'appareil sera disponible pour les tests Appium. Pendant toute la durée de la session d'accès à distance, vous pouvez exécuter autant de sessions Appium que vous le souhaitez sur l'appareil, sans aucune limite quant aux clients que vous utilisez. Par exemple, vous pouvez commencer par exécuter un test en utilisant votre code Appium local à partir de votre IDE, puis passer à l'utilisation d'Appium Inspector pour résoudre les problèmes que vous rencontrez. La session peut durer jusqu'à 150 minutes, mais s'il n'y a aucune activité pendant plus de 5 minutes (via la console interactive ou via le point de terminaison Appium), la session expirera.
Utiliser des applications pour tester avec votre session Appium
Il existe plusieurs manières de fournir une application à utiliser avec votre session Appium :
-
Téléchargez une application sur Device Farm et installez-la dans la session.
-
Spécifiez une URL HTTPS ou une URI Amazon S3 comme
appium:appfonctionnalité. -
Référencez une application déjà installée par son nom de package (
appium:appPackagesous Android ouappium:bundleIdiOS). -
Testez une application Web en spécifiant
browserNamesa fonctionnalité (Chromesur Android,Safarisur iOS).
Les limites de taille standard des applications (4 Go) s'appliquent à toutes les sources d'applications.
Note
Device Farm ne prend pas en charge la transmission d'un chemin de système de fichiers local appium:app lors d'une session d'accès à distance.
Téléchargement, installation et utilisation d'applications
Pour utiliser une application téléchargée avec votre session Appium, procédez comme suit :
-
Téléchargez et installez votre application
Il existe deux manières de télécharger et d'installer une application sur l'appareil testé :
-
Incluez l'ARN de l'application dans votre
CreateRemoteAccessSessiondemande. L'application est automatiquement installée sur l'appareil au démarrage de la session. Vous pouvez également inclure une application auxiliaire ARNs, qui sera installée en même temps que l'application principale. -
Installez l'application pendant une session active à l'aide de l'
InstallToRemoteAccessSessionAPI ou en la téléchargeant via la console Device Farm. Cela vous permet de modifier l'application en cours de test sans créer de nouvelle session.
-
-
Utiliser l'application installée
Une fois installée, l'application est automatiquement injectée en tant que
appium:appfonctionnalité par défaut pour toutes les sessions Appium suivantes. Si vous avez inclus des applications auxiliaires, elles sont définies commeappium:otherAppsfonctionnalité.Par exemple, si vous créez une session d'accès à distance en utilisant
com.aws.devicefarm.samplecomme application etcom.aws.devicefarm.other.samplecomme l'une de vos applications auxiliaires, lorsque vous créerez une session Appium, elle disposera de fonctionnalités similaires aux suivantes :{ "value": { "sessionId": "abcdef123456-1234-5678-abcd-abcdef123456", "capabilities": { "app": "/tmp/com.aws.devicefarm.sample.apk", "otherApps": "[\"/tmp/com.aws.devicefarm.other.sample.apk\"]", ... } } }Si vous installez une nouvelle application pendant la session, elle remplace la
appium:appfonctionnalité actuelle. Si l'application précédemment installée possède un nom de package distinct, elle reste sur l'appareil et passe à laappium:otherAppsfonctionnalité.Par exemple, si vous l'utilisez initialement
com.aws.devicefarm.samplelors de la création de votre session d'accès à distance, puis que vous l'installezcom.aws.devicefarm.other.samplependant la session, vos sessions Appium auront des fonctionnalités similaires aux suivantes :{ "value": { "sessionId": "abcdef123456-1234-5678-abcd-abcdef123456", "capabilities": { "app": "/tmp/com.aws.devicefarm.other.sample.apk", "otherApps": "[\"/tmp/com.aws.devicefarm.sample.apk\"]", ... } } }
Note
Pour plus d'informations sur le téléchargement automatique d'applications dans le cadre de votre session d'accès à distance, consultez la section Automatisation des téléchargements d'applications.
Utilisation d'une URL HTTPS
Vous pouvez spécifier une URL HTTPS accessible au public comme fonctionnalité appium:app souhaitée lors de la création d'une session Appium. L'URL doit pointer directement vers un fichier d'application téléchargeable (par exemple, un .ipa fichier .apk or). Device Farm télécharge l'application à partir de l'URL spécifiée et l'installe sur l'appareil testé.
Important
Seul le protocole HTTPS URLs est pris en charge. Les protocoles HTTP simples URLs sont rejetés.
Par exemple, la demande de création de session Appium suivante télécharge une application à partir d'une URL HTTPS :
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"appium:app": "https://example.com/path/to/MyApp.apk"
}
]
}
}
Utilisation d'un URI Amazon S3
Vous pouvez spécifier un URI Amazon S3 (par exemple,s3://my-bucket/path/to/MyApp.ipa) comme fonctionnalité appium:app souhaitée lors de la création d'une session Appium. Device Farm télécharge l'application depuis l'emplacement S3 spécifié et l'installe sur l'appareil testé.
Pour utiliser un URI S3, les conditions suivantes doivent être remplies :
-
La session d'accès à distance doit être démarrée à partir d'un projet pour lequel un rôle d'exécution IAM est configuré.
-
Le rôle d'exécution IAM doit avoir une durée de session maximale d'au moins 150 minutes, car le rôle est assumé pendant la durée de la session d'accès à distance.
-
Le rôle d'exécution IAM doit être autorisé à appeler
s3:GetObjectl'objet S3 spécifié dans l'URI. Nous recommandons également d'accorder unes3:HeadObjectautorisation sur le même objet, afin de permettre à Device Farm de valider l'existence de l'objet avant de tenter le téléchargement.
Par exemple, la demande de création de session Appium suivante télécharge une application à partir d'un URI S3 :
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"appium:app": "s3://my-test-bucket/apps/MyApp.ipa"
}
]
}
}
Voici un exemple de politique d'autorisation IAM qui accorde l'accès recommandé pour le téléchargement d'une application depuis Amazon S3, y compris l's3:HeadObjectautorisation facultative. Pour plus d'informations sur la configuration des rôles d'exécution IAM, consultezAccédez aux ressources AWS à l'aide d'un rôle d'exécution IAM.
Exemple
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:HeadObject" ], "Resource": "arn:aws:s3:::my-test-bucket/apps/*" } ] }
Utilisation d'une application déjà installée
Si l'application que vous souhaitez tester est déjà installée sur l'appareil, vous pouvez la référencer directement par son nom de package au lieu de la télécharger. Utilisez les appium:appActivity fonctionnalités appium:appPackage et sur Android ou sur iOS. appium:bundleId
Par exemple, la demande de création de session Appium suivante lance une application Android déjà installée :
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"appium:appPackage": "com.example.myapp",
"appium:appActivity": "com.example.myapp.MainActivity"
}
]
}
}
Sur iOS, utilisez appium:bundleId plutôt :
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"appium:bundleId": "com.example.myapp"
}
]
}
}
Tester une application Web
Pour tester une application Web, spécifiez la browserName fonctionnalité dans votre demande de création de session Appium. ChromeÀ utiliser sur les appareils Android ou Safari iOS.
Par exemple, la requête suivante ouvre Chrome sur un appareil Android :
{
"capabilities":
{
"alwaysMatch": {},
"firstMatch":
[
{
"browserName": "Chrome"
}
]
}
}
Comment utiliser le point de terminaison Appium
Voici les étapes pour accéder au point de terminaison Appium de la session depuis la console, le AWS CLI, et le. AWS SDKs Ces étapes incluent comment commencer à exécuter des tests à l'aide de divers frameworks de test client Appium :