Savoir comment effectuer des tests sur plusieurs navigateurs à l'aide de Selenium

Cet article sur les tests de navigateurs croisés à l'aide de Selenium vous expliquera comment effectuer une vérification de compatibilité entre navigateurs d'un site Web sur divers navigateurs et plate-forme de système d'exploitation.

Avec la demande croissante de tests d'automatisation, est l'un de ces outils qui convient parfaitement aux tests de navigateurs croisés d'un site Web. Il est très nécessaire de vérifier la compatibilité et les performances des sites Web sur différents navigateurs et systèmes d'exploitation. Donc, cet article sur les tests de navigateurs croisés utilisant Selenium vous aidera à comprendre ces concepts en profondeur.



Voici les sujets abordés dans cet article:



Qu'est-ce que le test multi-navigateurs?

Les tests multi-navigateurs ne sont rien d'autre que de tester l'application dans plusieurs navigateurs tels que IE, Chrome, Firefox afin que nous puissions tester notre application efficacement. La compatibilité entre navigateurs est la capacité d'un site Web ou d'une application Web à fonctionner sur différents navigateurs et systèmes d'exploitation.

Test croisé avec du sélénium - Edureka Par exemple - Supposons que vous ayez 20 cas de test à exécuter manuellement. Vous pouvez terminer cette tâche en un jour ou deux. Mais, si les mêmes cas de test doivent être exécutés dans cinq navigateurs, il vous faudra probablement une semaine pour le terminer. Cependant, si vous automatisez ces 20 cas de test et les exécutez, cela ne prendra pas plus d'une heure ou deux selon la complexité du cas de test. C’est donc là que les tests multi-navigateurs entrent en jeu.



Maintenant, allons plus loin et voyons pourquoi vous avez besoin de tests multi-navigateurs dans Selenium.

a une relation en java

Pourquoi avez-vous besoin de tests multi-navigateurs?

Chaque site Web est composé de trois technologies principales, à savoir HTML5, CSS3 et . Cependant, il existe n nombre de technologies dans le backend comme , Rubis , etc. peuvent être utilisés. Mais, dans le front end et dans le rendu, seules ces trois technologies sont utilisées.



De plus, chaque navigateur utilise un moteur de rendu complètement différent pour calculer ces trois technologies. Par exemple, Chrome utilise Blink, Firefox utilise Gecko et IE utilise Edge HTML et Chakra, à cause desquels le même site Web serait rendu complètement différemment par tous ces différents navigateurs. Et c’est exactement pourquoi vous avez besoin de tests sur plusieurs navigateurs. Cela signifie que le site Web devrait fonctionner parfaitement, dans toutes les différentes versions de navigateur et dans différents systèmes d'exploitation. Donc, pour s'assurer que cela fonctionne correctement, des tests multi-navigateurs sont nécessaires.

Parallèlement à cela, j'ai énuméré quelques raisons qui illustrent la nécessité de tester les navigateurs croisés.

  • Compatibilité du navigateur avec différents OS.
  • Orientation de l'image.
  • Chaque navigateur a une orientation différente de Javascript, ce qui peut parfois causer des problèmes.
  • Incompatibilité de taille de police ou rendu incorrect.
  • Compatibilité avec le nouveau framework Web.

Allons maintenant plus loin et comprenons comment effectuer des tests multi-navigateurs.

Comment effectuer des tests entre navigateurs?

Les tests multi-navigateurs exécutent essentiellement le même ensemble de cas de test plusieurs fois sur différents navigateurs. Ce type de tâche répétée est le mieux adapté pour . Ainsi, il est plus rentable et plus rapide d’effectuer ces tests à l’aide d’outils. Voyons maintenant comment cela est effectué à l'aide du pilote Web sélénium.

Étape 1 : Si nous utilisons Selenium WebDriver, nous pouvons automatiser les cas de test en utilisant les navigateurs Internet Explorer, FireFox, Chrome, Safari.

Étape 2: Pour exécuter des cas de test avec différents navigateurs dans la même machine en même temps, nous pouvons intégrer Framework TestNG avec Selenium WebDriver.

didacticiel qlikview étape par étape

Étape 3: Enfin, vous pouvez écrire les cas de test et exécuter le code.

Voyons maintenant comment effectuer des tests multi-navigateurs du site Web Edureka sur trois navigateurs différents

Démo avec Selenium WebDriver

package co.edureka.pages import java.util.concurrent.TimeUnit import org.openqa.selenium.By import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa.selenium.chrome.ChromeDriver import org .openqa.selenium.edge.EdgeDriver import org.openqa.selenium.firefox.FirefoxDriver import org.testng.annotations.BeforeTest import org.testng.annotations.Parameters import org.testng.annotations.Test classe publique CrossBrowserScript {pilote WebDriver / * * * Cette fonction s'exécutera avant que chaque balise de test dans testng.xml * @param browser * @throws Exception * / @BeforeTest @Parameters ('browser') public void setup (String browser) jette une exception {// Vérifier si le paramètre est passé depuis TestNG est 'firefox' if (browser.equalsIgnoreCase ('firefox')) {// créer une instance de firefox System.setProperty ('webdriver.gecko.driver', 'C: geckodriver-v0.23.0-win64geckodriver.exe') driver = new FirefoxDriver ()} // Vérifiez si le paramètre est passé en tant que 'chrome' else if (browser.equalsIgnoreCase ('chrome')) {// se t chemin vers chromedriver.exe System.setProperty ('webdriver.chrome.driver', 'C: Selenium-java-edurekaNew folderchromedriver.exe') driver = new ChromeDriver ()} else if (browser.equalsIgnoreCase ('Edge')) {// définir le chemin vers Edge.exe System.setProperty ('webdriver.edge.driver', 'C: Selenium-java-edurekaMicrosoftWebDriver.exe') span style = 'font-family: verdana, geneva, sans-serif font- size: 14px '& ampgt // créer une instance Edge & amplt / span & ampgt driver = new EdgeDriver ()} else {// Si aucun navigateur n'est passé, lancer une exception lancer une nouvelle exception (' Le navigateur n'est pas correct ')} driver.manage (). timeouts () .implicitlyWait (10, TimeUnit.SECONDS)} @Test public void testParameterWithXML () lance InterruptedException {driver.get ('https://www.edureka.co/') WebElement Login = driver.findElement (By.linkText ('Log Dans ')) // Appuyez sur le bouton de connexion Login.click () Thread.sleep (4000) WebElement userName = driver.findElement (By.id (' si_popup_email ')) // Remplissez le nom d'utilisateur userName.sendKeys (' votre email id ' ) Thread.sleep (4000) // Trouver le mot de passe'WebElement password = driver.findElement (By.id ('si_popup_passwd')) // Remplissez le mot de passe password.sendKeys ('votre mot de passe') Thread.sleep (6000) WebElement Next = driver.findElement (By.xpath ('// bouton [ @ class = 'clik_btn_log btn-block'] ')) // Appuyez sur le bouton de recherche Next.click () Thread.sleep (4000) WebElement search = driver.findElement (By.cssSelector (' # search-inp ')) // Remplissez la zone de recherche search.sendKeys ('Selenium') Thread.sleep (4000) // Appuyez sur le bouton de recherche WebElement searchbtn = driver.findElement (By.xpath ('// span [@ class =' ​​typeahead__button ']')) searchbtn. Cliquez sur() } }

Dans le code ci-dessus, j'effectue des actions sur Edureka site Web comme la connexion au site Web et la recherche de cours Selenium. mais je veux vérifier la compatibilité entre navigateurs sur trois navigateurs différents, à savoir Google Chrome, Mozilla Firefox et Microsoft Edge. C’est pourquoi j’ai défini les propriétés système des 3 navigateurs de mon code. Après cela, en utilisant des localisateurs, j'effectue des actions sur le site Web. Il s'agit donc de mon dossier de classe. Maintenant, pour exécuter le programme, vous avez besoin d'un fichier XML TestNG contenant les dépendances du fichier de classe ci-dessus. Le code ci-dessous décrit le fichier TestNG.

 

Dans le fichier XML ci-dessus, je spécifie différentes classes pour les lecteurs afin que cela nous aide à instancier les navigateurs pour exécuter les cas de test sur le site Web. C’est ainsi que cela fonctionne.

Avec cela, nous arrivons à la fin de cet article sur les tests multi-navigateurs en utilisant . J'espère que vous avez compris les concepts et que cela a ajouté de la valeur à vos connaissances.

tableau d'objets exemple java

Si vous souhaitez apprendre Selenium et bâtir une carrière dans le domaine des tests, consultez notre site interactif en ligne ici, cela vient avec un support 24 * 7 pour vous guider tout au long de votre période d'apprentissage.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de l'article Cross Browser Testing utilisant Selenium et nous vous répondrons.