usage selenium select class
Dans le didacticiel précédent, nous avons étudié les différents types d'instructions d'assert disponibles dans le cadre de test unitaire basé sur Java et leurs applications avec des spécimens. Réitérant le fait qu'étant un «ingénieur de test d'automatisation», les assertions jouent un rôle très décisif et significatif dans le développement de scripts de test.
Pour aller de l'avant avec les quelques tutoriels à venir de la série Selenium, nous nous concentrerons sur gérer les différents types d'éléments Web disponibles sur les pages Web . Par conséquent, dans ce tutoriel, nous considérerions «Déroulants» et exercer leurs stratégies de manipulation .
questions d'entrevue de test manuel et automatisé
Avant de passer à l'énoncé du problème et à sa résolution, prenons un moment pour présenter et créer une compréhension concernant l'application testée. À titre d'exemple, nous avons créé un page HTML factice composé d'éléments Web multiples et assortis.
Les éléments Web élémentaires qui constituent la page Web sont:
- Hyperlien
- Bouton
- Menu déroulant
Veuillez vous référer à la page Web ci-dessus mentionnée ci-dessus:
Ce que vous apprendrez:
- Explication de l'application sous test
- Scénario à automatiser
- Code WebDriver utilisant la classe Selenium Select
- Procédure pas à pas du code
- Conclusion
- lecture recommandée
Explication de l'application sous test
Nous avons conçu la page Web de manière à inclure quelques types fondamentaux d'éléments Web.
- Hyperlien : Les deux hyperliens à savoir «Google» et «abodeQA» ont été fournis pour rediriger l'utilisateur vers «https://www.google.co.in/» et «http://www.abodeqa.com/» respectivement sur l'événement de clic.
- Menu déroulant : Les trois listes déroulantes ont été créées pour sélectionner les couleurs, les fruits et les animaux avec une valeur déjà définie par défaut.
- Bouton : Un bouton «essayer» a été créé pour afficher la boîte de dialogue contenant les boutons Ok et Annuler lors du clic.
Le code HTML utilisé pour créer la page Web mentionnée ci-dessus est le suivant:
Testing Select Class Red Green Yellow Grey Apple Orange Mango Lime Select Elephant Mouse Dog Click the button to display a confirm box.
Try it function myFunction() { confirm('Press a button!'); }
Scénario à automatiser
- Lancez le navigateur Web et ouvrez la page Web
- Cliquez sur le lien hypertexte «Google»
- Revenez à la page Web d'origine
- Sélectionnez le 'Vert' dans la liste déroulante des couleurs
- Sélectionnez «Orange» dans le menu déroulant des fruits
- Sélectionnez «Éléphant» dans la liste déroulante des animaux
Code WebDriver utilisant la classe Selenium Select
Veuillez prendre note que, pour la création de scripts, nous utiliserions le projet «Learning_Selenium» créé dans l'ancien tutoriel.
Étape 1: Créez une nouvelle classe Java nommée «HandlingDropDown» sous le projet «Learning_Selenium».
Étape 2: Copiez et collez le code ci-dessous dans la classe «HandlingDropDown.java».
Vous trouverez ci-dessous le script de test qui est équivalent au scénario mentionné ci-dessus:
import static org.junit.Assert.*; import org.junit.After; import org.junit.Before; import org.junit.Test; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; import org.openqa.selenium.support.ui.Select; /** * class description */ public class HandlingDropDown { WebDriver driver; /** * Set up browser settings and open the application */ @Before public void setUp() { driver=new FirefoxDriver(); // Opened the application driver.get('file:///F:/Work/Blogs/testingstuff/DemoWebAlert.html'); driver.manage().window().maximize(); } /** * Test to select the dropdown values * @throws InterruptedException */ @Test public void testSelectFunctionality() throws InterruptedException { // Go to google driver.findElement(By.linkText('Google')).click(); // navigate back to previous webpage driver.navigate().back(); Thread.sleep(5000); // select the first operator using 'select by value' Select selectByValue = new Select(driver.findElement(By.id('SelectID_One'))); selectByValue.selectByValue('greenvalue'); Thread.sleep(5000); // select the second dropdown using 'select by visible text' Select selectByVisibleText = new Select (driver.findElement(By.id('SelectID_Two'))); selectByVisibleText.selectByVisibleText('Lime'); Thread.sleep(5000); // select the third dropdown using 'select by index' Select selectByIndex = new Select(driver.findElement(By.id('SelectID_Three'))); selectByIndex.selectByIndex(2); Thread.sleep(5000); } /** * Tear down the setup after test completes */ @After public void tearDown() { driver.quit(); } }
Procédure pas à pas du code
Importer des déclarations
- importer org. openqa.selenium.support.ui.Select - Importez ce package avant la création du script. Le package fait référence à la classe Select qui est requise pour gérer la liste déroulante.
Instanciation d'objet pour la classe Select
Sélectionnez selectByValue = new Select (driver.findElement (By.id (“SelectID_One”)));
Nous créons une variable de référence pour la classe Select et l'instancions à l'aide de la classe Select et de l'identifiant de la liste déroulante.
L'identifiant ou la valeur du localisateur pour la liste déroulante peuvent être trouvés en utilisant les techniques décrites dans les didacticiels initiaux (en utilisant Selenium IDE et Firebug).
Prenez note que l'identifiant d'une liste déroulante se trouve comme ci-dessous:
Étape 1: La plupart ou presque tous les éléments des listes déroulantes sont définis dans la balise ayant plusieurs valeurs (valeurs qui peuvent être définies dans la liste déroulante) qui sont définies sous les balises.
Définition de la valeur dans la liste déroulante à l'aide de selectByValue () méthode
selectByValue.selectByValue («greenvalue»);
Dans la commande java ci-dessus, nous sélectionnons la valeur «vert» dans le menu déroulant à l'aide de la selectByValue () méthode et la paramétrer avec le texte présent dans l'attribut value.
Définition de la valeur dans la liste déroulante à l'aide de la méthode selectByVisibleText ()
selectByValue.selectByVisibleText («Lime»);
Dans la commande java ci-dessus, nous sélectionnons la valeur «Lime» dans la liste déroulante en utilisant le selectByVisibleText () méthode et le paramétrer avec le texte présent sur l'interface utilisateur ou le texte présent entre les balises d'ouverture et de fermeture.
Définition de la valeur dans la liste déroulante à l'aide de selectByIndex () méthode
selectByValue.selectByIndex («2»);
Dans la commande java ci-dessus, nous sélectionnons la troisième valeur dans la liste déroulante en utilisant le selectByIndex () méthode et le paramétrer avec la valeur d'index de l'élément que l'on souhaite sélectionner dans la liste déroulante.
Notez que la valeur d'index commence par «0».
Conclusion
Dans ce didacticiel, nous avons essayé de vous familiariser avec la classe Select de WebDriver qui est utilisée pour gérer les éléments de liste déroulante présents sur la page Web. Nous vous avons également expliqué les méthodes qui peuvent être utilisées pour renseigner la valeur dans la liste déroulante.
Voici le résumé de l'article:
- La classe Select de WebDriver est utilisée pour gérer les éléments de liste déroulante présents sur une page Web.
- Avant le script proprement dit, nous devons importer un package pour pouvoir créer un script WebDriver pour gérer une liste déroulante et rendre la classe Select accessible.
- importer org. openqa.selenium.support.ui.Select;
- Nous créons une variable de référence pour la classe Select et l'instancions à l'aide de la classe Select et de l'identifiant de la liste déroulante.
- Sélectionner selectByValue = new Select (driver.findElement (By.id (“SelectID_One”)));
- L'identifiant ou la valeur du localisateur de la goutte peuvent être trouvés à l'aide de Selenium IDE et de Firebug.
- Idéalement, il existe trois façons de sélectionner la valeur souhaitée dans la liste déroulante parmi celles répertoriées.
- selectByValue ()
- selectByVisibleText ()
- selectByIndex ()
- La commande java suivante est utilisée pour sélectionner la couleur «verte» dans la liste déroulante. Notez que la valeur dans la liste déroulante est sélectionnée à l'aide du selectByValue ()
- selectByValue («valeur verte»);
- La commande java suivante est utilisée pour sélectionner le fruit «Lime» dans la liste déroulante. Notez que la valeur dans la liste déroulante est sélectionnée à l'aide du selectByVisibleText ()
- selectByVisibleText («Lime»);
- La commande java suivante est utilisée pour sélectionner la troisième valeur parmi toutes les options disponibles inscrites pour la liste déroulante. Notez que la valeur dans la liste déroulante est sélectionnée à l'aide du selectByIndex ()
- selectByIndex ('2');
Tutoriel suivant # 14 : Dans le prochain tutoriel, nous discuterons de différents types de commandes dans WebDriver comme isSelected (), isEnabled () et isDispalyed () ceux-ci renvoient une valeur booléenne par rapport à la présence d'un élément Web spécifié.
Jusque-là, restez à l'écoute et automatisez la liste déroulante à l'aide de l'utilitaire WebDriver - «Sélectionner la classe».
lecture recommandée
- Comment localiser des éléments dans les navigateurs Chrome et IE pour créer des scripts Selenium - Tutoriel Selenium # 7
- Tutoriel Cucumber Selenium: Intégration Cucumber Java Selenium WebDriver
- Vérifier la visibilité des éléments Web à l'aide de divers types Commandes WebDriver - Tutoriel Selenium # 14
- Tutoriels Eclipse détaillés pour les débutants
- Introduction à Selenium WebDriver - Tutoriel Selenium # 8
- Comment utiliser le sélecteur CSS pour identifier les éléments Web pour les scripts Selenium - Tutoriel Selenium # 6
- Script Selenium efficace et scénarios de dépannage - Tutoriel Selenium # 27
- Débogage de scripts Selenium avec des journaux (Tutoriel Log4j) - Tutoriel Selenium # 26