À 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.
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):
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.
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 ..
// installe Appium $ npm install -g appium (or) $ Sudo npm install appium -g
// démarre le serveur Appium $ appium &
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
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é.
J'ai téléchargé le projet Java Eclipse sur github
https://github.com/boobalaninfo/javaworkspace.git
Exigence: