cucumber selenium tutorial
Intégration Java Cucumber Selenium WebDriver avec exemple:
Dans le dernier tutoriel, nous avons discuté l'outil Concombre , son utilisation et ses différentes fonctionnalités.
Aller de l'avant dans notre libre Formation en ligne Selenium série, nous discuterons comment mettre en place un projet de concombre et discutera de l'intégration de Selenium WebDriver avec Cucumber.
Nous allons monter un projet Cucumber avec Maven. Pour configurer Maven dans votre système, veuillez reportez-vous à ce tutoriel sur Maven de la même série.
application Android pour espionner un autre téléphone
Ce que vous apprendrez:
- Configuration du projet concombre
- Intégration de Cucumber Selenium WebDriver
- Conclusion:
- lecture recommandée
Configuration du projet concombre
Étape 1: Créez un nouveau projet Maven:
Clic droit -> Nouveau -> Autres -> Maven -> Projet Maven -> Suivant
Étape 2: Maintenant, le projet ressemblera à ceci:
Étape 3 : Ajoutez ci-dessous les dépendances dans pom.xml
info.cukes cucumber-java 1.0.2 test info.cukes cucumber-junit 1.0.2 test junit junit 4.10 test
Étape 4 : Créez un fichier sample.feature sous src / test / resources.
@test de fumée
Fonctionnalité : Pour tester mon test de concombre est en cours
Je souhaite exécuter un exemple de fichier de fonctionnalités.
Scénario : configuration du concombre
Donné l'exemple de fichier d'entités est prêt
Lorsque Je lance le fichier de fonctionnalités
Puis la course devrait réussir
Étape # 5 : Créez une classe sous src / test / java qui implémentera toutes les étapes.
public class stepDefinition { @Given('^sample feature file is ready$') public void givenStatment(){ System.out.println('Given statement executed successfully'); } @When('^I run the feature file$') public void whenStatement(){ System.out.println('When statement execueted successfully'); } @Then('^run should be successful$') public void thenStatment(){ System.out.println('Then statement executed successfully'); } }
Étape # 6 : Créez un runner JUnit pour exécuter le test.
@RunWith(Cucumber.class) @Cucumber.Options(format={'pretty','html:reports/test-report'},tags= '@smokeTest') public class CucumberRunner { }
Fournissez le chemin du rapport comme indiqué ici. Les rapports seront stockés dans le dossier «test-report» sous le dossier du projet et le format «joli» spécifie le type de rapport.
Étape # 7 : Résultat Junit et rapport de test:
Vous trouverez ci-dessous le rapport lorsque le test du concombre est réussi. La barre verte de Junit décrit le test réussi. De même, une barre rouge indique que le test a échoué.
Si nous voulons utiliser les rapports par défaut, naviguez sur le chemin mentionné dans Junit Runner. Dans ce cas, nous avons donné le chemin comme reports-> test-reports-> index.html.
Ouvrez ce rapport dans Internet Explorer ou dans Firefox pour vérifier le résultat. Voici l'exemple du rapport:
Intégration de Cucumber Selenium WebDriver
Le framework Cucumber peut être utilisé pour tester les applications Web avec Selenium WebDriver. Les cas de test sont écrits dans des fichiers de fonctionnalités simples qui sont facilement compréhensibles par les responsables, les parties prenantes non techniques et les analystes métier. Et ces étapes du fichier de fonctionnalités sont implémentées dans le fichier de définition d'étape. Si vous utilisez maven, vous devez ajouter des dépendances pour Cucumber et WebDriver.
Voici donc l'exemple de cas de test que nous avons implémenté à l'aide de Cucumber et WebDriver. Comme indiqué ci-dessous, le scénario dans le fichier d'entités est explicite.
Fonctionnalité: Fichier de fonction de connexion
@sélénium
Scénario : Test de scénario de connexion pour Gmail
Donné accéder à la page Gmail
Lorsque utilisateur connecté en utilisant le nom d'utilisateur comme «utilisateurA» et le mot de passe comme «mot de passe»
Puis la page d'accueil doit être affichée
Mise en œuvre de WebDriver dans l'étape CucumberDéfinitions:
public class stepDefinition { WebDriver dr; @Given('^navigate to gmail page$') public void navigate(){ dr=new FirefoxDriver(); dr.get('http://www.gmail.com'); } @When ('^user logged in using username as '(.*)' and password as '(.*)'$') public void login(String username,String password){ dr.findElement(By.xpath('//*(@id='Email')')).sendKeys(username); dr.findElement(By.xpath('//*(@id='Passwd')')).sendKeys(password); dr.findElement(By.xpath('//*(@id='signIn')')).click(); dr.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); } @Then('^home page should be displayed$') public void verifySuccessful(){ String expectedText='Gmail'; String actualText= dr.findElement(By.xpath('//*(@id='gbq1')/div/a/span')).getText(); Assert.assertTrue('Login not successful',expectedText.equals(actualText)); } }
Dans ce test, nous avons utilisé Firefox comme navigateur pour tester la fonctionnalité de connexion à Gmail.
De toute évidence, l'objet WebDriver est une variable de classe et utilisé dans toute la classe.
Donné L'instruction initialise le navigateur et accède à la page.
Lorsque La déclaration se connecte à l'application en utilisant le nom d'utilisateur comme «userA» et le mot de passe comme «mot de passe». Les valeurs «nom d’utilisateur» et «mot de passe» sont transmises à partir du fichier de fonctionnalités et les deux valeurs à utiliser dans le même ordre.
Puis L'instruction ne valide les conditions qu'après la connexion à l'application.
Ceci est un exemple de test décrivant l'utilisation du concombre et du sélénium. Vous pouvez créer une architecture multicouche en fonction des exigences de votre projet.
Conclusion:
Dans ce didacticiel d'intégration Java Cucumber Selenium, nous avons couvert la plupart des concepts Cucumber qui incluent les fonctionnalités de Cucumber et son utilisation avec WebDriver.
Cela réduit la complexité du code qui est écrit pour concevoir les frameworks traditionnels tels que Keyword Driven et Hybrid Framework. Le concombre est utilisé dans la plupart des projets où les gens suivent une méthodologie agile, car le développement piloté par le comportement est une pratique de logiciel agile.
Tutoriel suivant # 32 : Nous avons maintenant terminé tous les didacticiels techniques de cette série de formation Selenium. Ensuite, nous publierons sur quelques sujets généraux importants comme «Estimation de l'effort pour les projets Selenium» et «questions d'entretien Selenium avec réponses».
Veuillez poster vos questions concernant le didacticiel sur le sélénium de concombre.
lecture recommandée
- Introduction à Selenium WebDriver - Tutoriel Selenium # 8
- Test d'automatisation à l'aide de l'outil Cucumber et du sélénium - Tutoriel Selenium # 30
- Intégration de Selenium avec JMeter
- Intégration de Jenkins avec Selenium WebDriver: tutoriel pas à pas
- Implémentation de notre premier script WebDriver - Tutoriel Selenium WebDriver # 10
- Comment gérer les alertes / fenêtres contextuelles dans Selenium WebDriver - Tutoriel Selenium # 16
- Configuration et installation complètes de WebDriver avec Eclipse - Tutoriel Selenium # 9
- Spock pour l'intégration et les tests fonctionnels avec sélénium