Comment exécuter le même script sur plusieurs appareils avec Appium

Les tests d’automatisation des applications mobiles existent depuis un certain temps. Au début, il était considéré comme un luxe de disposer d’une suite de tests automatisés pour votre application. Mais maintenant, c’est devenu une partie essentielle de DevOps.

Il y a de nombreux avantages aux tests d’automatisation, mais les trois suivants sont les plus importants :

  • Couverture de test accrue : Les tests d’automatisation vous permettent de tester plus de fonctionnalités en moins de temps. Cela signifie que vous pouvez augmenter votre couverture de test sans augmenter votre budget de test.
  • Réduction du risque d’erreur humaine : Les tests automatisés sont moins susceptibles de manquer des cas limites ou d’avoir d’autres erreurs lors des tests manuels d’une application.
  • Retour d’information plus rapide : Les tests automatisés peuvent être exécutés beaucoup plus rapidement que les tests manuels. Cela signifie que vous pouvez obtenir des retours sur votre application beaucoup plus tôt, ce qui peut vous aider à résoudre les problèmes avant qu’ils ne deviennent majeurs.

Les tests d’automatisation des applications mobiles sont un processus précieux qui peut vous aider à publier des applications de meilleure qualité en moins de temps.

Mais la question se pose ici : couvrez-vous suffisamment de périphériques pour tester votre application et en assurer une qualité de premier ordre ? Le test de votre application sur un seul appareil ou sur de nombreux appareils peut entraîner des problèmes spécifiques au périphérique, des problèmes d’interface utilisateur dans différentes résolutions, et des problèmes fonctionnels across différentes versions du système d’exploitation.

Pourquoi Exécuter le Même Script sur Plusieurs Appareils est Important ?

Le test d’une application sur plusieurs appareils est une étape importante dans le processus de QA. Nous devons être sûrs que notre application fonctionne avec différents appareils, versions d’OS et tailles d’écran.

Il existe de nombreuses raisons pourquoi il est important de tester les applications sur plusieurs appareils. L’une des raisons les plus importantes est que les utilisateurs peuvent utiliser différents types d’appareils pour accéder à la même application. Nous ne pouvons pas prédire quel appareil un utilisateur utilisera pour accéder à l’application, donc nous devons nous assurer que cela fonctionne. Pour être certain que nous pouvons facilement exécuter notre script d’automatisation sur plusieurs appareils.

Comment exécuter le même script sur plusieurs appareils à l’aide d’Appium?

Lorsque nous exécutons notre script Appium, nous devons passer les capacités désirées d’Appium, qui incluent platformName, platformVersion et notre deviceName.

{
"platformName": "iOS",
"platformVersion": "11.0",
"deviceName": "iPhone 9",
"automationName": "XCUITest",
"app": "/path/to/my.app"
}

Copied

Pour exécuter votre script de test sur un autre appareil, nous devons modifier les capacités souhaitées de notre script de test, et cela exécutera notre script de test sur cet appareil spécifique. Il n’est pas nécessaire de modifier notre script de test pour l’exécuter sur différents appareils. Cependant, cela peut être différent de l’exécution de scripts de test sur des appareils Android et iOS car les localisateurs d’éléments peuvent différer sur les appareils Android et iOS. Mais un script écrit pour n’importe quel appareil Android ou iOS peut être exécuté sur tous les appareils avec le même OS en changeant les capacités souhaitées.

Difficultés dans la gestion de plusieurs appareils

Exécuter votre script sur plusieurs appareils est la partie la plus simple de votre processus de test d’automatisation, mais gérer ces appareils et en posséder plusieurs est la partie la plus difficile et coûteuse de votre processus d’automatisation. Si on ne parle que des iPhone, il existe de l’iPhone 6 à l’iPhone 13, utilisés par les utilisateurs avec une mixture d’iOS 11 à iOS 16. Et, lorsqu’il s’agit d’Android, ces nombres augmentent considérablement. Aucune équipe ne peut gérer ou posséder tous les appareils populaires présents sur le marché avec différentes versions du système d’exploitation.

Émulateur/Simulateur en alternative

La première solution qui vient à l’esprit pour résoudre ce problème est d’utiliser des émulateurs et simulateurs pour différents appareils. Cependant, tester sur un émulateur ou simulateur n’est pas la même chose que de tester sur des appareils réels. Les simulateurs et émulateurs s’approchent de l’imitation, mais il est impossible de fonctionner de la même manière qu’un appareil réel. Cela est dû au fait que les émulateurs ne peuvent prendre en compte tous les facteurs environnementaux, caractéristiques ou actions de l’utilisateur sur un appareil réel. L’avantage des appareils réels est dans leur nom. Tester sur des appareils physiques réels signifie que vous testez de la même façon que vos utilisateurs utilisent leurs appareils.

Tester sur des appareils réels : Avantages

Voici où BrowserStack vient au secours pour libérer la confusion des appareils. BrowserStack App Automate offre tous les appareils populaires avec différentes versions de systèmes d’exploitation pour tester automatiquement votre application en utilisant Appium. Vous pouvez facilement intégrer BrowserStack à votre framework pour tester vos scripts sur plusieurs appareils.

Exécuter des scripts Appium sur plusieurs appareils à l’aide de BrowserStack

Exécuter vos scripts de test sur BrowserStack avec plusieurs appareils est assez simple en utilisant App Automate. Vous devez simplement suivre quelques étapes pour modifier vos configurations et cela intègrera votre automation de tests existante avec BrowserStack.

Étape 2 : Téléversez votre fichier .apk ou .ipa sur BrowserStack. Vous pouvez le faire en utilisant « Upload your App » sur votre tableau de bord, ou vous pouvez également utiliser les API de BrowserStack pour le téléverser automatiquement. Vous obtiendrez une URL de l’application après l’avoir téléversée.

{
"app_url":"bs://f7c874f21852ba57957a3fdc33f47514288c4ba4"
}

Copied

Étape 3 : Spécifiez l’application à tester en utilisant la capacité app. Utilisez la valeur app_url retournée lors de l’upload de l’application (Étape 2) pour définir cette capacité.

  • Spécifiez le véritable appareil Android ou iOS que vous souhaitez tester en utilisant la capacité device.
  • Pour initialiser un pilote Appium, utilisez une URL distante de BrowserStack avec vos informations d’accès BrowserStack ( mentionnées à l’Étape 1) comme montré ci-dessous :

https://YOUR_USERNAME:[email protected]/wd/hub

Elle ressemblera à ceci :

userName = "YOUR_USERNAME"
accessKey = "YOUR_ACCESS_KEY"
desired_caps = { "build": "Android",
"device": "Samsung Galaxy S8 Plus",
platformVersion": "11.0",
"app": "<app_url>"
}
driver = webdriver.Remote("https://" + userName + ":" + accessKey +
"@hub-cloud.browserstack.com/wd/hub", desired_caps)

Copied

En faisant cela, votre script Appium commence à s’exécuter sur les appareils réels de BrowserStack dans le cloud.

Vous pouvez facilement changer l’appareil en changeant son nom et sa version de plateforme dans les caps souhaités. Sur BrowserStack, vous pouvez également exécuter vos tests en parallèle pour terminer votre automatisation plus rapidement. BrowserStack fournit des vidéos, des journaux d’appareil, des journaux réseau et des journaux Appium pour le dépannage, et vous pouvez vérifier vos exécutions de tests sur votre tableau de bord. BrowserStack peut vous aider à exécuter vos scripts de test avec plusieurs appareils, et vous n’avez pas à les gérer vous-même.

Pour conclure,

BrowserStack’s App Automate rend le test sur de nombreux appareils réels简单易行. En changeant simplement les Capacités Souhaitées, l’utilisateur peut facilement exécuter des tests sur des milliers d’appareils et déterminer systématiquement si votre application est prête à être publiée ou non. Les équipes QA trouveront simple d’utiliser le tableau de bord des résultats pour trouver et déboguer les problèmes instantanément.

Exécutez des Tests Appium Gratuitement

Source:
https://www.browserstack.com/guide/how-to-run-same-script-in-multiple-devices-using-appium