web-dev-qa-db-fra.com

Configuration d'Appium pour l'automatisation des tests d'applications iOS

À la recherche d'un guide étape par étape pour configurer iOS Test Automation à l'aide d'appium, avec des scripts en Java (non Ruby et/ou concombre).

Remarque: le wiki appium n'est pas utile non plus.

15
Ravi Gupta

Pour exécuter des tests iOS, vous pouvez suivre ces étapes:

( Remarque : j'utilise Java langage ici dans Eclipse IDE et j'utilise App Appium):

  1. Créez un nouveau projet Java dans Eclipse.
  2. Importez des fichiers jar: version de Selenium Server (anciennement Selenium RC Server) et pilote client requis (selon votre choix de langue) qui peuvent être téléchargés ici . (Pour importer: cliquez avec le bouton droit sur votre projet -> Propriétés -> Bibliothèques -> Ajouter des fichiers JAR externes. Ajoutez les trois fichiers jar Selenium ici.)
  3. Télécharger Appium et lancement.
  4. Vous pouvez exécuter vos scripts de test dans le simulateur ou sur un appareil réel. Pour exécuter des scripts sur un véritable appareil iOS, vous aurez besoin de 'deviceName', 'platformVersion', 'UDID' (Device ID) et 'Bundle ID' (Application Bundle ID) et un chemin absolu vers le .ipa.
  5. Pour exécuter des scripts sur le simulateur iOS, vous aurez besoin de 'deviceName', 'platformVersion', le chemin vers .app et 'Bundle ID' de votre application.
  6. Choisissez les capacités dans l'application Appium et mentionnez-les dans votre script selon que vous testez sur simulateur ou sur appareil.
  7. Lancez le serveur Appium, puis exécutez votre script.

Toutes les capacités du serveur Appium qui peuvent être utilisées peuvent être trouvées ici.

Vous pouvez également consulter mon article de blog ici pour plus de détails sur l'exécution d'un exemple de script de base.

15
Smriti

J'ai trouvé cela très utile.

http://seleniumworks.blogspot.co.uk/2013/12/appium-native-ios-app-testing-webdriver.html

Notez que vous devez obtenir le .app de votre projet pour qu'il fonctionne - pas le .ipa

Test de l'application iOS native Appium | WebDriver Appium est un outil d'automatisation de test multiplateforme open source pour les applications Web natives, hybrides et mobiles. Les tests Appium peuvent être écrits dans votre langue compatible Webdriver préférée.

Exigences et installation

1 | MAC OS X 10.7 (version minimale requise) 2 | Version mise à jour Xcode (préférez) 3 | Node.js 4 | Appium.app 5 | Eclipse Kepler (préférez) 6 | Framework TestNG

Configuration pré-Appium

le fichier iOS .app suffit pour inspecter les éléments. Dans cet exemple, j'ai utilisé le projet "InternationalMountains" de Apple DEV site.

1 | Téléchargez le projet, 'InternationalMountains' 2 | Double-cliquez et extrayez-le 3 | Importez-le dans Xcode en ouvrant le fichier Xcode 4 | Exécutez le projet 5 | Assurez-vous que le simulateur est ouvert avec l'application 6 | Ouvrez Terminal et accédez au dossier du projet 7 | Exécutez la commande suivante pour créer le fichier .app

`xcodebuild -sdk iphonesimulator6.1`

8 | Il va construire l'application et générer le fichier, 'InternationalMountains.app' sous/InternationalMountains/Build/Products/Release-iphonesimulator /

Configuration d'Appium iOS

1 | Télécharger et installer Node.js // npm représente le gestionnaire de packages Node.js $ Sudo npm install wd

2 | Exécutez le serveur Appium en utilisant node.js; Il y a deux façons de le faire ..

1 Utilisation de Node.js

// installe Appium $ npm install -g appium (or) $ Sudo npm install appium -g // démarre le serveur Appium $ appium &

2 Utilisation de l'application

Téléchargez Appium, installez-le et exécutez-le

3 | Maintenant, le serveur Appium démarre dans le

default port 4723 and IP Address 0.0.0.0

Inspecteur Appium

L'inspecteur Appium est un outil d'enregistrement et de lecture tout comme Selenium IDE pour le Web.

1 | Ouvrir Appium

2 | Modifiez l'adresse IP par défaut en 127.0.0.1 and port 4725

3 | Maintenant, activez la case à cocher "Chemin de l'application" 4 | Cliquez sur le bouton "Choisir" et recherchez le répertoire local .app. c'est-à-dire InternationalMountains.app

5 | Cliquez sur le bouton "Lancer" [Le serveur Appium démarre maintenant] 6 | Maintenant, une icône de couleur bleue située à côté du bouton "Lancer" est activée 7 | En cliquant sur l'icône de couleur bleue, ouvrez l'inspecteur Appium avec Simulator 8 | Maintenant, cliquez sur le bouton "Enregistrer" dans l'inspecteur Appium 9 | Chaque action va générer un script en bas de l'inspecteur Appium

Exécutez le script dans Eclipse IDE

package packagename;

import Java.io.File;
import Java.net.URL;
import Java.util.List;

import org.openqa.Selenium.By;
import org.openqa.Selenium.WebDriver;
import org.openqa.Selenium.WebElement;
import org.openqa.Selenium.remote.CapabilityType;
import org.openqa.Selenium.remote.DesiredCapabilities;
import org.openqa.Selenium.remote.RemoteWebDriver;
import org.testng.Assert;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Test;

public class AppiumTest {
public WebDriver driver = null;

@BeforeMethod
public void setUp() throws Exception {
// set up appium
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.BROWSER_NAME, "iOS");
capabilities.setCapability(CapabilityType.VERSION, "6.1");
capabilities.setCapability(CapabilityType.PLATFORM, "Mac");
capabilities.setCapability("app","/Users/username/Downloads/InternationalMountains   /build/Release-iphonesimulator/InternationalMountains.app");
driver = new RemoteWebDriver(new URL("http://127.0.0.1:4725/wd/hub"), capabilities);
}

@AfterMethod
public void tearDown() throws Exception {
driver.quit();
}

@Test
public void test01() throws InterruptedException {
driver.findElement(By.xpath("//window[1]/tableview[1]/cell[2]")).click();
driver.findElement(By.xpath("//window[1]/navigationBar[1]/button[1]")).click();
driver.findElement(By.xpath("//window[1]/tableview[1]/cell[7]/text[1]")).click();
}
}

Remarque: 1 | Actuellement, il n'y a pas de prise en charge de l'inspecteur Appium pour Windows

6
Bob

Je reçois un popup d'erreur à l'étape 6 -

Impossible de démarrer une nouvelle session

Assurez-vous que le serveur Appium fonctionne avec une application ouverte en utilisant le paramètre "App Path" dans Appium.app (ainsi que le package et l'activité pour Android) ou en vous connectant avec le client Selenium et en le fournissant dans l'objet de capacités souhaité.

0
Jitendra kumar

J'ai téléchargé le projet Java Eclipse sur github

https://github.com/boobalaninfo/javaworkspace.git

Exigence:

  1. Appium devrait être opérationnel sur une machine Mac
  2. Eclipse pour développer et exécuter les cas de test Java
0
Boobalan