Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents
minLevel1
maxLevel7

Pré-requis

  • Configurer le téléphone pour exécuter les tests : Settings > Developer > cocher « Enable UI Automation »

  • Télécharger l’environnement de développement pour macOS Xcode (disponible sur App Store)

  • Disposer de versions compatibles de Xcode, macOS et iOS : https://developer.apple.com/fr/support/xcode/ (éviter la version 13.3.1 d’iOS)

Pour tester un téléphone avec iOS 15.4, il est nécessaire d’avoir Xcode 13.3 et un macOS 12.3 Monterey. Cette version de macOS est disponible sur les MacBook Pro commercialisés à partir de 2015. Elle permet également de tester les téléphones ayant une version d’iOS antérieure.

Etape 1 : Installation du WebDriverAgent

WebDriverAgent est un serveur WebDriver initié par Facebook puis repris par Appium pour automatiser des actions utilisateur sur les appareils iOS. Ce projet constitue la base de notre solution d’automatisation.

...

Le projet Xcode se trouve alors dans le répertoire node_modules : /usr/local/lib/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj

Etape 2 : Préparation du WebDriverAgent sur Xcode pour la première utilisation

  • Ouvrir un terminal et aller où se trouve le projet :

...

  • Faire les mêmes actions en sélectionnant IntegrationApp parmi les targets.

  • Dans le choix de la cible en haut de Xcode, choisir WebDriverAgentRunner et le bon téléphone.

...

Etape 3 : Installation du WebDriverAgent sur le téléphone [Commencer directement à cette étape si Xcode est déjà configuré]

Info

Vérifier si la connexion se fait automatiquement entre le téléphone et le Mac dans Xcode > Window > Devices and Simulators. Une icône “planète” doit apparaître à côté du nom du téléphone.

Si ce n’est pas le cas :

  • Connecter le téléphone au Mac en filaire.

  • Connecter le téléphone et le Mac au même réseau wifi (possibilité de faire un partage de connexion du Mac vers le téléphone).

  • Window > Devices and Simulators : cliquer sur le nom de son iPhone et cocher la case "connect via network". Une icône “planète” doit apparaître à côté du nom du téléphone. Si cela ne fonctionne pas plusieurs fois, désactiver et réactiver le wifi du Mac.

  • Une fois la connexion faite, retirer le câble entre l'iPhone et le Mac.

  • Compiler le projet : Product > Build

  • Lancer le WebDriverAgent (WDA) : Product > Perform Action > Test Without Building
    Le WDA est installé sur le téléphone. On s’attend à une erreur car le développeur n’est pas identifié sur le téléphone. On l’autorise à partir de l’iPhone : Settings > General > Device management. On relance le test depuis Xcode : Product > Perform Action > Test Without Building. Le WebDriverAgent est alors prêt à recevoir des requêtes pour l’automatisation

  • Arrêter le test en cliquant sur l’icône carré.

...

Etape 4 : Lancement du WebDriverAgent à partir du testrunner

  • Récupérer le testrunner sur https://app.greenspector.com, dans l’onglet Modules, et le placer dans un dossier (par exemple “testrunner_files”).

  • Ajouter dans ce dossier les fichiers de configuration config_ios.yml et job_ios.yml, ainsi qu'un script gdsl avec l’extension “testgb”.

  • Modifier ces fichiers pour qu’ils correspondent à la mesure souhaitée.

...

Code Block
languagebash
./testrunner --jobFile job_ios.yml --config config_ios.yml

Outils pour inspecter les applications et les sites web sur iOS

...

Sur Appium Inspector, l'écran du téléphone apparaît. Il est alors possible de sélectionner les éléments de l'écran pour visualiser leurs informations (name, label…), mais aussi de réaliser directement des scrolls et des clics. Les fonctions du type clickByText, searchByText, waitUntilText et setTextByText recherchent le label des éléments, puis le name.

Documentation du GDSL sur iOS

Voir Greenspector DSL for iOS

Erreurs possibles

Warning

A test configuration must be provided to _XCTestMain” sur Xcode

...