Doit lire 30 questions et réponses d'entrevue Selenium: Guide ultime 2022
Publié: 2021-01-04Vous assistez à un entretien important et vous vous demandez quelles sont toutes les questions d'entretien Selenium que vous allez passer ?
Nous avons créé ce guide de questions et réponses d'entretien Selenium le plus lu pour vous aider à comprendre la profondeur des questions et à y faire face avec confiance.
De plus, comme ils sont manuels, ils sont sujets aux erreurs. Les tests manuels n'aident pas à long terme, et donc, les tests automatisés comme Selenium gagnent en demande dans l'industrie. Si vous poursuivez votre carrière dans les tests automatisés et que vous avez un entretien à venir dans Selenium, ce blog est fait pour vous.
Dans ce blog, nous aborderons ici les questions d'entretien Selenium les plus courantes. Ce sont pour les deux - les débutants ainsi que les questions d'entretien Selenium pour les expérimentés.
Questions et réponses de l'entretien d'embauche au sélénium 2022
Q.1) Pourquoi choisir Selenium plutôt que d'autres outils de test automatisés ?
Le sélénium est open-source. Il est très facile à adapter par rapport aux autres outils automatisés du marché. Pour cette raison, de nombreuses entreprises choisissent les tests automatisés au sélénium plutôt que d'autres méthodes traditionnelles.

Q.2) Énumérez certains avantages de Selenium par rapport à des outils tels que TestComplete et QTP. Aussi, quels sont les inconvénients ?
Selenium ne nécessite pas de licence, contrairement à TestComplete et QTP, étant facile sur les poches. La communauté en ligne offre un soutien massif. Les cycles de publication sont plus courts et les commentaires sont rapides par rapport à TestComplete et QTP. De plus, Selenium fonctionne également sur Mac, Linux et Windows.
Au contraire, Selenium nécessite qu'un développeur ait des compétences élevées en codage. Alors que QTP et TestComplete nécessitent respectivement un niveau faible à modéré de compétences en codage.
Q.3) Quels changements ont eu lieu dans les différentes mises à jour de la version de Selenium ?
Dans la première version de Selenium, Selenium v1, il ne comprenait que trois suites d'outils, qui sont Selenium IDE, RC et Grid. Le pilote Web manquait. Ce n'est que dans la deuxième version de Selenium, Selenium v2 que le Webdriver a été introduit. Une fois cela fait, Selenium RC n'était plus utilisé.
Vous pouvez les trouver sur le marché, mais le support n'est pas disponible. La prochaine version de Selenium est Selenium v3. Il se compose de Webdriver, IDE et Grid. Il est actuellement utilisé. Une version plus récente, Selenium v4, est également désormais disponible.
Selenium IDE est principalement destiné à l'enregistrement et à la lecture. Le Webdriver sert à tester les applications Web dynamiques à l'aide d'une interface de programmation. La grille est utilisée pour utiliser des tests sur des machines hôtes distantes.
Vous devez utiliser l'IDE pour l'enregistrement et la lecture des tests. Un WebDriver est utilisé pour tester des applications Web actives à l'aide d'une interface de programmation, et la grille est utilisée pour déployer des tests sur des machines hôtes isolées.
Q.4) Quelles sont les différentes exceptions dans Selenium WebDriver ?
Comme tout autre langage de programmation, vous pouvez également trouver des exceptions dans Selenium. Vous pouvez trouver les exceptions suivantes dans Selenium WebDriver :
TimeoutException : vous obtenez cette exception lorsqu'une commande n'exécute pas une action dans le délai spécifié.
NoSuchElementException : vous obtenez cette exception lorsqu'il ne peut pas trouver un élément avec les attributs donnés sur une page Web.
ElementNotVisibleException : vous obtenez cette exception lorsqu'un élément est disponible dans le modèle d'objet de document, mais qu'il n'est pas visible sur la page Web.
StaleElementException : vous obtenez cette exception lorsqu'un élément n'est pas attaché au modèle d'objet de document ou est supprimé.
Q.5) Expliquer le test d'exception Selenium
L'exception que vous vous attendez à lancer dans une classe de test est un test d'exception. Si vous écrivez un cas de test dans l'intention de lever une exception, vous devez utiliser l'annotation @test et également mentionner dans les paramètres quelle exception serait levée. Par exemple,
@Test(expectedException = NoSuchElementException.class)
Q.6) Est-il nécessaire d'avoir une feuille Excel dans un projet ? C'est oui, comment ?
Les feuilles Excel sont utilisées comme source de données pendant les tests. En outre, il stocke également l'ensemble de données lors de l'exécution de tests basés sur les données. Lorsque des feuilles Excel sont utilisées comme source de données, elles peuvent stocker :
URL de l'application : les développeurs peuvent mentionner l'URL de l'environnement sous lequel le test est exécuté. Par exemple, environnement de test, environnement de développement, environnement QA, environnement de production ou environnement intermédiaire.
Informations sur le nom d'utilisateur et le mot de passe : les feuilles Excel peuvent conserver en toute sécurité les informations d'identification d'accès comme le nom d'utilisateur d'un mot de passe de divers environnements. Les développeurs peuvent chiffrer et stocker ces informations pour des raisons de sécurité.
Cas de test : les développeurs peuvent créer un tableau dans lequel une colonne indique le nom du cas de test et l'autre indique qu'il doit être exécuté ou non.
Si vous allez utiliser des feuilles Excel pour DataDriven Test, vous pouvez facilement stocker les informations pour diverses duplications à exécuter pendant les tests. Par exemple, toutes les données qui doivent être écrites dans une zone de texte pour les tests sur une page Web peuvent être stockées dans les feuilles Excel.
Q.7) Qu'est-ce que le POM ? Lister ses avantages ?
POM signifie Page Object Model. Il s'agit d'un modèle de conception pour la création d'un référentiel d'objets pour les éléments de l'interface utilisateur Web. Chaque page Web de l'application doit avoir sa propre classe de page correspondante, qui est chargée de rechercher les WebElements dans cette page, puis d'exécuter des opérations sur eux.
Les avantages de l'utilisation du modèle d'objet Page sont :
- Il rend le code lisible en permettant aux développeurs de séparer les opérations et les flux d'interface utilisateur de la vérification.
- Plusieurs tests peuvent utiliser le même référentiel d'objets car il est indépendant des cas de test.
- Le code devient réutilisable.
Q.8) Qu'est-ce qu'une fabrique de pages ?
Page Factory offre une méthode améliorée pour exécuter le modèle d'objet de page en utilisant efficacement la mémoire, et l'exécution est effectuée à l'aide d'une conception orientée objet.
Implémentation POM | |
Avec l'usine de pages | Sans usine de pages |
Utilise par() | Utilise @FindBy() |
Aucune importation n'est requise | Usine de page d'importations |
Pas de stockage en cache | La recherche de cache est plus rapide |
Page Factory initialise les éléments de l'objet de page ou instancie les objets de page eux-mêmes. Des annotations pour les éléments peuvent également être produites. C'est, en fait, une meilleure façon car les propriétés descriptives peuvent ne pas être assez expressives pour différencier un objet d'un autre
Si POM est utilisé sans page factory, au lieu d'avoir à utiliser 'FindElements', @FindBy est utilisé pour rechercher WebElement et initElements est utilisé pour initialiser les éléments Web à partir de la classe Page Factory.
@FindBy peut accepter des attributs tels que tagName, name, partialLinkText , linkText, id, className , css et xpath.
Q.9) Comment réalisez-vous la synchronisation dans WebDriver ? Ou, parlez-nous des différents types d'instructions d'attente Selenium Web Driver ?
Vous pouvez trouver deux instructions d'attente dans le pilote Web Selenium, à savoir Implicit Wait et Explicit Wait.
L'attente implicite ordonne au WebDriver d'attendre un peu en interrogeant le DOM. Il est présent pendant toute la durée de vie de l'instance du pilote Web, une fois l'attente implicite déclarée. La valeur prédéfinie est zéro. Si vous le définissez supérieur à zéro, le comportement interrogera régulièrement le DOM en fonction de l'implémentation du pilote.
L'attente explicite ordonne à l'exécution d'attendre un peu jusqu'à ce qu'une condition soit atteinte comme :
- elementToBeClickable
- presenceOfElementLocated
- elementToBeSelected
Lire : Questions et réponses de l'entrevue de printemps
10) A quoi sert JavaScriptExecutor ?
Vous pouvez exécuter JavaScript via Selenium Websriver à l'aide de JavaScriptExecutor. C'est une interface qui propose ce mécanisme. Il donne des méthodes comme "executescript" et "executeAsyncScript" pour exécuter JavaScript dans l'état du cadre ou de la fenêtre actuellement choisi. Un exemple de cela est:
JavascriptExecutor js = (JavascriptExecutor) pilote ;
js.executeScript(Script,Arguments);
Q.11) Quelle fonction vous permet de faire défiler une page en utilisant JavaScript dans Selenium ?
La fonction window.scrollBy() vous aide à faire défiler la page en utilisant JavaScript dans Selenium. Par exemple:
(pilote (JavascriptExecutor)).executeScript(“window.scrollBy(0,500”);
Q.12) Comment gérez-vous les actions de la souris et du clavier avec Selenium ?
Les actions spéciales de la souris et du clavier sont gérées à l'aide de l'API Advanced User Interactions. Il comprend les actions et les classes d'action requises pour effectuer ces événements. Les événements de souris et de clavier les plus utilisés sont donnés par la classe Action :
dragAndDrop() : cet événement effectue un clic et un maintien à la position de l'élément source, se déplace.
source, target() : se déplace à la position de l'élément cible et relâche la souris.
clickAndHold() : Il clique sur l'emplacement actuel de la souris.
Q.13) Quels sont les différents types de frameworks Selenium ?
Les différents types de frameworks Selenium sont :
- Keyword Driven Framework : Dans ce cadre, les opérations et les instructions sont écrites dans un fichier séparé comme Excel.
- Cadre piloté par les données : dans ce cadre, les données de test complètes sont extraites de certains fichiers source externes tels qu'un XML, Excel, CSV ou une autre table de base de données.
- Hybrid Framework : Ce framework est un mélange du framework Keyword Driven et du framework Data-Driven.
Q.14) Nommez quelques fichiers qui servent de source de données pour divers frameworks Selenium.
Il peut s'agir d'un fichier XML, Excel, CSV ou même d'un fichier texte.
Q.15) Qu'est-ce que Selenese ?
Selenese est le groupe de commandes Selenium permettant de tester une application Web. Les développeurs peuvent utiliser des assertions, des actions et des accesseurs. Les assertions sont utilisées comme points de contrôle. Les actions servent à exécuter des opérations et les accesseurs sont utilisés pour stocker la valeur d'une variable.
Q.16) Quelle est la principale différence entre une Page Factory et un Page Object Model (POM) ?
Une question d'entrevue courante sur le sélénium. Une fabrique de pages est une méthode permettant d'initialiser des éléments Web dans l'objet de page lors de la création de l'instance. D'autre part, le modèle d'objet de page est une classe qui énonce la page Web et contient ses fonctionnalités.
Q.17) Selenium prend-il en charge la gestion des fenêtres contextuelles ?
Non. Selenium ne prend pas en charge la gestion des fenêtres contextuelles. Une alerte, qui est une fenêtre contextuelle, affiche un message d'avertissement à l'écran. Vous pouvez y parvenir en utilisant quelques méthodes telles que :

Void dismiss() : lorsque le bouton d'annulation est cliqué dans la boîte d'alerte, cette méthode est appelée.
Void accept() : lorsque le bouton 'OK' de l'alerte est cliqué, cette méthode est appelée.
String getText() : si vous souhaitez capturer le message d'alerte, vous devez appeler cette méthode.
Void sendKeys(String stringToSed): Si vous souhaitez envoyer des informations à la boîte d'alerte, vous devez appeler cette méthode.
Lire : Réagissez aux questions et réponses de l'entretien
Q.18) Expliquer la classe Robot
Une classe Robot permet de contrôler les périphériques clavier et souris.
Les méthodes comprennent :
- KeyPress() : Appelé sur l'événement où vous voulez appuyer sur une touche.
- KeyRelease() : Appelé dans l'événement pour relâcher la touche enfoncée.
- MouseMove() : Appelé dans l'événement lorsque vous devez déplacer le pointeur de la souris dans les coordonnées X et Y.
- MousePress() : Appelé dans l'événement lorsque vous appuyez sur le bouton gauche de la souris.
- MouseMove() : Appelé en cas de relâchement du bouton enfoncé de la souris.
Q.19) Comment gérer plusieurs fenêtres dans Selenium ?
Le handle de fenêtre est un identifiant spécial qui contient l'adresse de toutes les fenêtres. Il sert de pointeur vers une fenêtre renvoyant la valeur dans la chaîne.
- get.windowhandle() : il récupère le handle de la fenêtre actuelle.
- get.windowhandles() : Récupère les handles de toutes les fenêtres ouvertes.
- basculer vers : aide à basculer entre les fenêtres.
- set : définit les poignées de fenêtre, qui se présentent sous la forme d'une chaîne.
- action : permet d'exécuter certaines actions sur les fenêtres.
Q.20) Que sont les auditeurs ?
L'interface qui modifie le comportement du système est appelée écouteurs dans Selenium. Ils permettent de personnaliser les journaux et les rapports. Ils sont de deux types : les écouteurs TestNG et les écouteurs Webdriver.
Q.21) Expliquer les commandes Assert et Verify
Assert : Une assertion est utilisée pour faire la différence entre le résultat réel et le résultat attendu.
Vérifier : les exécutions de test ne sont pas interrompues, que la condition de vérification soit vraie ou fausse.
Q.22) Comment navigue-t-on d'avant en arrière sur une page Web ?
C'est l'une des questions d'entretien sur le sélénium les plus courantes.
Vous pouvez utiliser les méthodes ci-dessous pour naviguer d'avant en arrière.
pilote.naviguer.en avant
pilote.gérer.naviguer
pilote.gérer.retour
driver.navigate.to("url")
Q.23) Comment envoyer la touche ALT/SHIFT/CONTROL dans Selenium WebDriver ?
En utilisant généralement les touches comme ALT, Shift ou Control, nous les combinons avec d'autres touches pour activer une fonction. Nous ne pouvons pas simplement les cliquer seuls. Nous devons définir deux méthodes dans le but de conserver ces clés pendant que les clés suivantes sont
enfoncé : keyUp(modifier_key) et keyDown(modifier_key)
Paramètres : Modifier_key (keys.ALT ou Keys.SHIFT ou Keys.CONTROL)
Objectif : le but est d'appuyer sur une touche de modification sans relâcher la touche de modification. Les interactions suivantes peuvent supposer qu'il est maintenu enfoncé.
Paramètres : Modifier_key (keys.ALT ou Keys.SHIFT ou Keys.CONTROL)
Objectif : Le but est qu'il effectue une libération de clé.
Ainsi, avec un mélange de ces deux méthodes, nous pouvons capturer la fonction spéciale d'une clé particulière.
Q.24) Comment prenons-nous des captures d'écran dans Selenium WebDriver ?
La fonction TakeScreenshot permet de prendre une capture d'écran dans Selenium Webdriver. De plus, vous pouvez enregistrer la capture d'écran en utilisant la méthode getScreenshotAs().
Fichier scrFile = ((TakeScreenshot)driver).getScreenshotAs(outputType.FILE);
Q. 25) Pouvons-nous définir la taille de la fenêtre du navigateur à l'aide de Selenium ? Si oui, comment ?
Oui. Si vous souhaitez maximiser la taille de la fenêtre du navigateur, vous devez utiliser le code
driver.manage().window().maximize();
Si vous souhaitez redimensionner la fenêtre courante à une dimension spécifique, vous devez utiliser la méthode setSize(). Par exemple:
System.out.println(driver.manage().window().getSize());
Dimension d = nouvelle dimension (420 600) ;
driver.manage().window().setSize(d);
Si vous souhaitez définir la fenêtre à une taille particulière, vous devez utiliser la méthode window.resizeTo().
Par exemple:
((JavascriptExecutor)driver).executeScript("window.resizeTo(1024, 768);");
Q.26) Comment sélectionner une valeur dans la liste déroulante ? Comment gérer une liste déroulante ?
On vous posera très probablement une question sur la liste déroulante et la sélection des valeurs, car c'est un peu délicat et technique également.
Le détail le plus crucial que vous devez savoir est que pour travailler avec une liste déroulante dans Selenium, il est important d'utiliser la balise html : 'select'. Vous ne pouvez pas gérer les listes déroulantes sans utiliser la balise select. Jetez un oeil au code ci-dessous:
<select id="mySelect">
<option value="option1″>Gâteaux</option>
<option value="option2″>Chocolats</option>
<option value="option3″> Bonbons</option>
</select>
Dans le code ci-dessus, une balise HTML 'select' est utilisée pour définir un élément déroulant. L'ID de la balise select ici est myselect. Nous avons proposé trois options dans la liste déroulante : Gâteaux, Chocolats et Bonbons. Vous pouvez voir que chacun de ces choix a un attribut de valeur attachée. Par exemple, pour Cake, la valeur est Option1, pour Chocolates, c'est Option2, et pour Candy, c'est Option3.
Pour choisir une valeur, vous devez :
Identifiez l'élément html 'select' en utilisant findelement()
Exemple:
WebElement mySelectElement = driver.findElement(By.id("mySelect"));
Sélectionnez la liste déroulante = new Select (mySelectElement);
Choisissez une option dans cet élément déroulant.
Pour choisir une option dans cette liste déroulante, il existe trois façons :
dropdown.selectByVisibleText("Chocolats"); → Choisir une option par le texte qui est vu.
dropdown.selectByIndex("1"); → Choisir une option en utilisant le numéro d'index de cette option.
dropdown.selectByValue("option2"); → Choisir une option en utilisant la valeur de cette option.
Notez que dans tous les cas, l'option "Chocolats" est sélectionnée dans le menu déroulant. Les points 1 et 3 sont évidents et le point deux ; on dit « 1 » car l'indexation part de zéro.
Lire : Questions et réponses sur les entretiens avec Nagios
Q.27) Comment accédez-vous à un nouvel onglet qui s'ouvre après avoir cliqué sur un lien ?
En cliquant sur un lien sur une page Web, vous devez utiliser la commande switchTo() pour modifier le focus du Webdriver. Exemple : driver.switchTo().window();
où 'windowName' est le nom de la fenêtre vers laquelle vous souhaitez basculer votre focus.
Si vous ne connaissez pas le nom de la fenêtre, vous pouvez utiliser la commande driver.getWindowHandle() pour récupérer le nom de toutes les fenêtres lancées par le WebDriver. N'oubliez pas qu'il ne vous donnera jamais les noms des fenêtres que Webdriver n'a pas lancées.
Après avoir obtenu le nom, vous devez parcourir une boucle pour accéder à cette fenêtre. Voici un exemple:
Poignée de chaîne = driver.getWindowHandle();
pour (handle de chaîne : driver.getWindowHandles())
{
driver.switchTo().window(handle);
}
Q.28) Comment télécharger un fichier dans Selenium WebDriver ?
La commande element.send_keys (chemin du fichier) est utilisée pour télécharger un fichier dans Selenium Webdriver. Mais avant cela, vous devez utiliser la balise html : 'input' où le type d'attribut doit être 'file'. Voici un exemple pour mieux comprendre :
<input type=”file” name=”my_uploaded_file” size=”50″ class=”pole_plik”>
élément = driver.find_element_by_id(”my_uploaded_file”)
element.send_keys("C:monfichier.txt")
Q.29) Quelle est l'importance de testng.xml ?
Si vous passez un entretien pour Selenium, vous connaissez sûrement l'importance des tests. Selenium ne prend pas en charge la génération du rapport ainsi que la gestion des cas de test. Nous utilisons donc le framework TestNG avec Selenium. Il est bien avancé par rapport à Junit et il est plus facile d'implémenter des annotations, ce qui fait du framework TestNG le choix avec Selenium Webdriver.
Vous pouvez définir les suites de tests et le regroupement des classes de test dans TestNG, en prenant des commandes à partir du fichier testing.xml. Il est représenté dans un fichier XML et non dans une suite de tests dans le code source de test car la suite est une fonctionnalité d'exécution. Une suite de tests est un groupe ou une collection de cas de test.
Le fichier testng.xml doit contenir le nom de toutes les méthodes et classes que vous souhaitez exécuter dans le cadre de ce flux d'exécution.
Certains des avantages de l'utilisation du fichier testng.xml sont :
- Il permet l'exécution de plusieurs cas de test à partir de plusieurs classes
- Il permet l'exécution de cas de test en groupes, où un seul test peut appartenir à plusieurs groupes.
- Il permet une exécution parallèle.
Q. 30) Expliquez les fournisseurs de données dans TestNG. Est-il possible d'appeler une seule méthode de fournisseur de données pour plusieurs fonctions et classes ?
L'une des questions d'entretien avancées sur le sélénium. DataProvider est une fonctionnalité de TestNG, permettant aux développeurs d'écrire des tests DataDriven. Il prend en charge les tests DataDriven, ce qui signifie que la même méthode de test peut être exécutée plusieurs fois avec différents ensembles de données. DataProvider n'est qu'une méthode de transmission de paramètres à la méthode de test.
@DataProvider est une méthode permettant de fournir des données pour une méthode de test. La méthode annotée doit renvoyer un Object[] où chaque Object[] peut être affecté à la liste des paramètres de la méthode de test.

Oui. Il est possible d'appeler une seule méthode de fournisseur de données pour plusieurs fonctions et classes. Le même DataProvider peut être utilisé dans plusieurs fonctions et classes en déclarant DataProvider dans une classe distincte, puis en l'utilisant à nouveau dans plusieurs classes.
Q. 31) Quelles sont les fonctionnalités de TestNG ?
- Annotations avant et après
- Configuration de test basée sur XML
- Exécution multithread
- Ouvrir l'API
- De meilleurs rapports
- Tests basés sur les données
- Groupes dépendants.
- Méthodes dépendantes
Obtenez un cours de développement de logiciels dans les meilleures universités du monde. Gagnez des programmes Executive PG, des programmes de certificat avancés ou des programmes de maîtrise pour accélérer votre carrière.
Conclusion
En arrivant à la fin du guide des questions et réponses de l'entretien Selenium , nous espérons que cela vous aidera à obtenir votre emploi. Les questions d'entretien Selenium pour les personnes expérimentées sont plus techniques, mais avec une concurrence féroce pour les emplois, il est toujours bon d'être bien préparé pour un entretien.
Si vous êtes intéressé à apprendre Selenium, DevOps et tout ce qui concerne le développement Full Stack, consultez le programme Executive PG de IIIT-B & upGrad dans le programme de développement logiciel Full Stack.
