Tester une application mobile avec Appium nécessite plusieurs étapes pour configurer l’environnement et créer des tests automatisés. Voici un guide détaillé pour vous aider à démarrer :
Prérequis
- Installations nécessaires :
- Java Development Kit (JDK)
- Android SDK
- Node.js et NPM (Appium nécessite Node.js pour fonctionner)
- Appium Server
- IDE comme IntelliJ IDEA, Eclipse ou Visual Studio Code
- Configurer les émulateurs :
- Pour Android, vous pouvez utiliser Android Emulator via Android Studio.
- Pour iOS, vous pouvez utiliser Xcode Simulator (nécessite un Mac).
- Appium Desktop :
- Installez Appium Desktop pour avoir une interface graphique qui permet de démarrer le serveur Appium et d’inspecter les éléments de l’application.
Étapes pour configurer Appium et créer des tests
1. Installation et Configuration d’Appium
- Installer Appium Server :
npm install -g appium
Démarrer le serveur Appium :
appium
2. Créer un projet de test
- Configurer un projet dans votre IDE :
- Créez un nouveau projet Java/Maven.
- Ajoutez les dépendances nécessaires dans votre fichier
pom.xml
(pour Maven) :
<dependencies>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>8.0.0</version>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version> </dependency>
<!-- Ajoutez d'autres dépendances nécessaires -->
</dependencies>
- Configurer les capacités souhaitées :
- Créez une classe Java pour définir les capacités et configurer le driver Appium
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.net.URL;
import java.net.MalformedURLException;
public class AppTest { public static void main(String[] args) {
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("platformName", "Android");
caps.setCapability("deviceName", "emulator-5554");
caps.setCapability("app", "/path/to/your/app.apk");
try { AppiumDriver<MobileElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), caps);
// Ajoutez vos scripts de test ici driver.quit(); }
catch (MalformedURLException e)
{ e.printStackTrace(); } } }
3. Écrire des scripts de test
- Inspecter les éléments de l’application :
- Utilisez l’inspecteur Appium Desktop pour identifier les éléments de votre application et obtenir leurs localisateurs (ID, XPath, etc.).
- Exemple de script de test :
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.MobileElement;
import io.appium.java_client.android.AndroidDriver;
import org.openqa.selenium.By;
import org.openqa.selenium.remote.DesiredCapabilities;
import java.net.URL;
import java.net.MalformedURLException;
public class AppTest {
public static void main(String[] args) {
DesiredCapabilities caps = new DesiredCapabilities();
caps.setCapability("platformName", "Android");
caps.setCapability("deviceName", "emulator-5554");
caps.setCapability("app", "/path/to/your/app.apk");
try { AppiumDriver<MobileElement> driver = new AndroidDriver<>(new URL("http://127.0.0.1:4723/wd/hub"), caps);
// Exemple : Se connecter
MobileElement loginButton = driver.findElement(By.id("login_button_id"));
loginButton.click(); MobileElement usernameField = driver.findElement(By.id("username_field_id"));
usernameField.sendKeys("testuser");
MobileElement passwordField = driver.findElement(By.id("password_field_id")); passwordField.sendKeys("testpassword");
MobileElement submitButton = driver.findElement(By.id("submit_button_id"));
submitButton.click();
// Ajoutez des assertions pour vérifier les résultats des actions driver.quit();
} catch (MalformedURLException e) { e.printStackTrace(); } } }
Exécuter et vérifier les tests
- Lancez le serveur Appium.
- Exécutez votre classe de test dans l’IDE.
- Vérifiez les résultats et les logs pour s’assurer que les tests se déroulent comme prévu.
En suivant ces étapes, vous pouvez tester efficacement votre application mobile avec Appium, que ce soit pour des applications Android ou iOS.