1. Installer WebDriverAgent
WebDriverAgent est une implémentation du serveur WebDriver pour iOS qui peut être utilisée pour contrôler à distance les appareils iOS. Nous l'utilisons pour obtenir des détails sur les éléments d'une vue (étiquette, nom, classe).
Exécutez les commandes suivantes pour installer WebDriverAgent :
brew update brew install node npm install --global appium-webdriveragent
Le projet Xcode est situé dans le répertoire node_modules : [NPM_ROOT_PATH]/appium-webdriveragent/WebDriverAgent.xcodeproj
Remplacez NPM_ROOT_PATH par le résultat de la commande npm root -g
.
Exemple:
Résultat de la commande
npm root -g
: /opt/homebrew/lib/node_modulesChemin du projet Xcode : /opt/homebrew/lib/node_modules/appium-webdriveragent/WebDriverAgent.xcodeproj
2. Préparer WebDriverAgent sur Xcode pour une première utilisation
Ouvrez un terminal et allez là où se trouve le projet :
cd [NPM_ROOT_PATH]/appium-webdriveragent/
Ouvrez le projet avec la commande suivante :
open WebDriverAgent.xcodeproj
Connecter l'appareil à l'ordinateur au moyen d'un câble USB.
Aller dans Fenêtre > Dispositifs et simulateurs, et vérifier que le dispositif est connecté
Dans Xcode, dans le navigateur de projet, cliquer sur « WebDriverAgent »
Sélectionner WebDriverAgentRunner parmi les cibles, et l'onglet « Signing & Capabilities ».
Vérifier que le champ « Gérer automatiquement la signature » est coché.
Sélectionner une équipe de développement. Une erreur d'identifiant de paquet (nom du paquet) est attendue car celui-ci est déjà utilisé.
Cliquer sur l'onglet « Build Settings » et écrire un nouvel identifiant de bundle dans la section Packaging.
L'onglet « Signing & Capabilities » est alors mis à jour
Sélectionner IntegrationApp parmi les cibles et suivre les mêmes étapes
Dans le choix des cibles en haut de Xcode, choisir WebDriverAgentRunner et le téléphone de droite
3. Inspecter les éléments d’une vue
Etapes à suivre :
Ouvrir le projet WebDriverAgent dans Xcode
Connecter l'appareil à l'ordinateur à l'aide d'un câble USB.
Aller à Fenêtre > Dispositifs et simulateurs, et vérifier que le dispositif est connecté.
Construisez le projet : Product > Build
Exécutez le projet : Product > Perform Action > Test Without Building
Si c'est la première fois que vous l'exécutez sur l'appareil, vous obtiendrez une erreur. Dans ce cas, allez dans Settings > General > Device management et faites confiance à WebDriverAgent.
Ouvrir l'interface graphique du serveur Appium
Cliquer sur « Start Server » (Démarrer le serveur)
Ouvrir l'inspecteur Appium
Compléter le champ « Remote Path » avec le texte suivant : /wd/hub
Compléter le champ « Json Representation » avec les propriétés de l'appareil :
{ "platformName": "iOS", "platformVersion": "15.4", "udid": "00008020-000815E82E06002E", "bundleId": "com.google.ios.youtube", "deviceName": "iPhone de Olivier" }
Pour utiliser les paramètres sauvegardés, cliquer sur « Saved capabilities sets ».
Cliquer sur “Start Session”
Sur Appium Inspector, l'écran du téléphone apparaît. Il est alors possible de sélectionner des éléments de l'écran pour visualiser leurs informations (label, nom), mais aussi de les faire défiler et de cliquer directement. Des fonctions telles que clickByText, waitUntilText et setTextByText recherchent le libellé de l'élément.
Si des erreurs se présentent, il est possible de se référer à la page de résolution de problème associée : https://greenspectorstudio.atlassian.net/wiki/x/ZQCmBg