100 Best Selenium Job Interview Questions et réponses

Cet article sera utile à tous ceux qui envisagent d’obtenir un travail de test ou d’automatisation de test. Plus de 100 questions et réponses populaires parmi les entretiens d’embauche de Selenium ont été compilées ici.

1) Qu’est-ce qu’un test d’automatisation?

Le test d’automatisation est un processus dans lequel des outils logiciels exécutent des tests pré-programmés sur une application logicielle avant sa mise en production. Un logiciel spécial est utilisé pour contrôler l’exécution du test, les résultats réels et la comparaison des résultats prévus, la configuration des conditions préalables du test, ainsi que d’autres fonctions de contrôle de test et de rapport de test.

2) Quels sont les principaux avantages des tests d’automatisation?

Couverture des tests de régression, productivité des ingénieurs de test, cohérence des tests, réutilisabilité des cas de test, réduction des coûts de maintenance logicielle, efficacité accrue des tests, réduction de l’intervalle de test, réduction des erreurs humaines.

3)Alors, quel est le sélénium?

Selenium est une suite d’automatisation de test robuste conçue pour prendre en charge et encourager les tests d’automatisation des aspects fonctionnels des applications Web et d’un large éventail de navigateurs et de plates-formes.

4)Quels sont les principaux avantages du sélénium?

  • Selenium est une source libre et ouverte. Vous n’avez pas besoin de dépenser un coût de licence pour l’utiliser.
  • Compatibilité entre les navigateurs (Firefox, Chrome, Internet Explorer, Safari, etc.)
  • Prise en charge de plusieurs langages de programmation (Java, C #, Ruby, Python, Pearl, etc.)
  • Compatibilité avec la plate-forme principale (Windows, Mac OS, Linux, etc.)
  • Base d’utilisateurs énorme et aider les communautés
  • Scripts d’automatisation créant des capacités pour les non-programmeurs ainsi que pour les programmeurs
  • Test du support de distribution
  • Développements réguliers et frais du référentiel

5) Quels composants de sélénium connaissez-vous?

Selenium est une suite d’outils pour les tests Web automatisés. Cela est composé de:

  • Selenium IDE (Environnement de développement intégré). C’est un outil pour enregistrer et reproduire. C’est un plugin Firefox.
  •  WebDriver et RC. Il fournit les API pour une variété de langages tels que Java, .NET, PHP, etc. Ils fonctionnent avec la plupart des navigateurs.
  • La grille: vous pouvez répartir les tests sur plusieurs machines afin que les tests puissent être exécutés en parallèle, ce qui permet de réduire le temps requis pour l’exécution des suites de tests dans le navigateur.

6) Combien de types d’API Webdriver sont disponibles dans Selenium?

La liste des classes de pilotes pourrait être utilisée pour l’automatisation du navigateur.

  • AndroidDriver,
  • ChromeDriver,
  • EventFiringWebDriver,
  • FirefoxDriver,
  • HtmlUnitDriver,
  • InternetExplorerDriver,
  • iPhoneDriver,
  • iPhoneSimulatorDriver,
  • RemoteWebDriver

7)Le sélénium a-t-il des limites?

Selenium prend uniquement en charge le test des applications Web. Alors, voici les limites de celui-ci:

  • Les applications mobiles ne peuvent pas être testées avec Selenium
  • Les applications de bureau ne peuvent pas être testées avec Selenium
  • Les lecteurs Captcha et Code à barres ne peuvent pas être testés avec Selenium
  • L’utilisateur doit utiliser des outils tiers tels que TestNG ou jUnit pour écrire des scripts de test et générer des rapports.
  • Des connaissances en langage de programmation sont nécessaires pour créer des scripts robustes dans Selenium WebDriver

8) Qu’est-ce que Selenium IDE?

Selenium IDE est un plug-in utilisé pour enregistrer et rejouer des tests dans le navigateur Firefox. Les scripts peuvent être automatiquement enregistrés et édités manuellement, offrant ainsi une prise en charge de l’auto-complétion et la possibilité de déplacer rapidement les commandes.

9) Qu’est-ce que le sélénien? Selenese est le langage utilisé pour écrire des scripts de test dans Selenium IDE.

10) Quels types de tests sont pris en charge par Selenium?

  1. Test fonctionel
  2. Les tests de régression
  3. Test de santé mentale
  4. Test de fumée
  5. Test réactif
  6. Tests entre navigateurs
  7. Test de l’interface utilisateur (boîte noire)
  8. Test d’intégration

sont pris en charge par sélénium.

11) Quels sont les différents types de localisateurs dans Selenium?

Les différents types de localisateurs dans Selenium sont les suivants: ID, Nom de classe, Nom, Nom de balise, LinkText, PartialLinkText, XPath, Sélecteur CSS, DOM.

12) Quels outils d’automatisation pourraient être utilisés pour la validation après publication avec intégration continue?

Les outils d’automatisation pourraient être utilisés pour la validation après publication avec intégration continue: CruiseCont, Hudson, Jenkins, Quick Build.

13) Expliquez le sens de l’affirmation dans Selenium et quels sont les types d’affirmation?

L’assertion est utilisée comme point de vérification. Il vérifie que l’état de l’application est conforme à l’attente. Les types d’assertion sont «assert», «verify» et «waifFor».

14) Expliquez la différence entre les commandes assert et verify?

Les deux vérifient si la condition donnée est vraie ou fausse. Contrairement à « assert », « verify » n’arrêtera pas l’exécution du scénario de test si celui-ci échoue.

15) Qu’est-ce qu’un XPath?

XPath est un langage qui décrit un moyen de localiser et de traiter les éléments dans les documents XML (Extensible Markup Language) en utilisant une syntaxe d’adressage basée sur un chemin d’accès à travers la structure logique ou la hiérarchie du document.

16) Qu’est-ce qu’un XPath absolu? XPath absolu est le moyen direct pour trouver l’élément. Cela a un inconvénient. XPath échoue si des modifications sont apportées au chemin d’accès de l’élément. html / body / div [3] / div / div [1] / div / div / div [1] / div / input – Exemple XPath absolu.

17) Qu’est-ce qu’un XPath relatif?

XPath relatif signifie que l’utilisateur peut démarrer à partir du milieu de la structure HTML DOM sans avoir à écrire de longue XPath. Exemple de XPath relatif – // entrée [@ id = ’email’].

18) Quelle est la différence entre une seule barre oblique (/) et une double barre oblique (//) dans XPath?

Une simple barre oblique (/) est utilisée pour créer des XPath avec des chemins absolus à partir du nœud racine. La double barre oblique (//) est utilisée pour créer un XPath relatif pour commencer la sélection à partir de n’importe où dans le nœud racine

19) Comment les attributs d’élément Web pourraient-ils être inspectés afin de les utiliser dans différents localisateurs?

Firebug est un plugin Firefox qui fournit divers outils de développement pour le débogage d’applications. Du point de vue de l’automatisation, Firebug est spécifiquement utilisé pour inspecter les éléments Web afin d’utiliser leurs attributs tels que id, classe, nom, etc. dans différents localisateurs.

20) Donnez un exemple des langues prises en charge par WebDriver.

Java, C #, Python et Ruby sont tous pris en charge directement par l’équipe de développement. Il existe également des implémentations PHP et Perl WebDriver.

21)Comment pouvons-nous lancer différents navigateurs dans Selenium WebDriver?

Nous devrions créer une instance d’un pilote d’un navigateur particulier:

 pilote WebDriver = new FirefoxDriver (); 

22)Que savez-vous des pilotes de test mobiles pris en charge par WebDriver?

Tests de pilotes mobiles pris en charge par WebDriver: AndroidDriver, IphoneDriver, OperaMobileDriver.

23) Expliquez la différence fondamentale entre XPath et le sélecteur CSS.

À l’aide du sélecteur CSS, nous ne pouvons que nous déplacer vers le bas dans le document, à l’aide des XPaths que nous parcourons dans le document.

24) Comment pouvez-vous trouver si un élément est affiché à l’écran?

Il existe différentes méthodes permettant à l’utilisateur de vérifier la visibilité des éléments Web :isDisplayed (), isEnabled (), isSelected (). Ces éléments Web peuvent être des boutons, des boîtes de dépôt, des cases à cocher, des boutons radio, des étiquettes, etc.

25) Quelle est la différence entre les commandes « type » et « typeAndWait »?

Si vous devez saisir les valeurs de clé du clavier dans un champ de texte de l’application Web, la commande « type » sera utilisée. Une autre raison de son utilisation est la sélection des valeurs de la liste déroulante. La commande « typeAndWait » est utilisée lorsque la frappe est terminée et que la page Web du logiciel commence à recharger.

26) Comment l’utilisateur peut-il obtenir le texte d’un élément Web?

L’utilisateur peut récupérer le texte de l’élément Web spécifié à l’aide de la commande get. Il n’exige aucun paramètre mais renvoie une valeur de chaîne.

 String Text = driver.findElement (By.id («Some Text»)). getText () 

en est un exemple.

27) Comment un texte écrit dans un champ de texte peut-il être effacé?

Un texte écrit dans un champ de texte peut être supprimé en utilisant le clair() méthode.

28) Comment vérifier une checkBox dans Selenium?

Le même Cliquez sur() Cette méthode peut être utilisée pour cocher une case à cocher, ainsi que pour cliquer sur des boutons ou des boutons radio.

29) Comment vérifier si la case à cocher / radio est cochée ou non?

est sélectionné() méthode est utilisée pour vérifier si la case à cocher / radio est cochée ou non. Un exemple –

 driver.findElement (By.xpath (« XPath de la case à cocher / bouton radio »)). IsSelected (); 

30) Quelle est la méthode alternative pour cliquer sur le bouton de connexion?

soumettre() Cette méthode peut être utilisée comme autre moyen de cliquer sur le bouton de connexion, mais uniquement si attribut type = submit.

31) Comment sélectionner une valeur dans une liste déroulante?

La classe WebDriver’s Select est utilisée pour sélectionner une valeur dans la liste déroulante.

 selectByVisibleText:

select selectByVisibleText = new Sélectionnez (driver.findElement (By.id («id_of_some_element»)));

selectByVisibleText.selectByVisibleText (“some_visible_text”);

32) Expliquez la différence entre les commandes close et quit.

Si vous devez fermer le navigateur actuel ayant le focus driver.close () est utilisé. Si vous devez fermer toutes les instances du navigateur driver.quit () est utilisé.

33) Quelle est la différence entre les méthodes setSpeed () et sleep ()?

Ces deux méthodes retardent la vitesse d’exécution. La principale différence entre eux est que setSpeed définit une vitesse tout en appliquant un délai avant chaque opération de Selenium. thread.sleep () ne configurera l’attente qu’une seule fois. Par exemple:

  • dormir (5000) – Ça va attendre 5 secondes. Il est exécuté une seule fois, où la commande est écrite.
  • setSpeed (« 5000 ») – Il faudra également attendre 5 secondes. Il exécute chaque commande après le délai setSpeed selon le nombre de millisecondes mentionné dans set Speed.

34) Quels sont les différents types de commandes de navigation?

  • naviguer (). retour () Cette commande ramène l’utilisateur à la page Web précédente de l’historique du navigateur Web. Un exemple: driver.navigate (). Back ();
  • naviguer (). transférer () permet à l’utilisateur de naviguer vers la page Web suivante en se référant à l’historique du navigateur. Un exemple: driver.navigate (). Forward ();
  • Selon naviguer (). refresh () commande user peut actualiser la page Web actuelle en rechargeant tous les éléments Web. Un exemple: driver.navigate (). Refresh ();
  • L’utilisateur peut lancer une nouvelle fenêtre de navigateur Web et accéder à l’URL spécifiée en exécutantaller vers() Un exemple:

     driver.navigate (). To (“https: // thinkmobiles.com/?);

35) Quelle est la différence entre findElement () et findElements ()?

Les deux permettent à l’utilisateur de trouver des éléments dans la page Web actuelle correspondant à la valeur de localisateur spécifiée. Mais si vous utilisez findElement (), seul le premier élément correspondant serait récupéré. Un exemple:

 WebElement élément = driver.findElements (By.xpath (“// div [@ id = ‘exemple’] // ul // li”)) [/code_snippet ]

Si tu utilises findElements (), tous les éléments correspondants seront récupérés et stockés dans la liste WebElements. Un exemple:


            
Liste elementList = driver.findElements (By.xpath (“// div [@ id = ‘exemple’] // ul // li”));

36) Peut sélénium gérerWpop basé sur indowsup?

Les fenêtres contextuelles Windows ne peuvent pas être gérées à l’aide de Selenium. Parce qu’il ne prend en charge que les tests d’applications Web.

37) Comment pouvons-nous gérer les fenêtres contextuelles Web?

Il existe quatre méthodes de gestion efficace des fenêtres contextuelles sur le Web:

  • chaîne getText () La méthode retourne le texte affiché sur le message d’alerte.
  • vide Acceptez() méthode clique sur le bouton « Ok » dès que la fenêtre contextuelle apparaît
  • vide rejeter() méthode clique sur le bouton « Annuler » dès que la fenêtre contextuelle apparaît
  • vide sendKeys (String stringToSend) méthode entre le modèle de chaîne spécifié dans la zone d’alerte

38) Connaissez-vous un moyen deactualiser le navigateurparen utilisantSElenium?

La liste des commandes pour actualiser une page dans Selenium:

  • naviguer (). refresh ()
  • getCurrentUrl ()
  • naviguer (). vers (driver.getCurrentUrl ())
  • sendKeys (Keys.F5)

39) Comment pouvons-nous maximiser la fenêtre du navigateur dans Selenium?

 driver.manage (). window (). maxim (); // commande est utilisée pour maximiser la fenêtre du navigateur dans Selenium 

40) Comment pouvons-nous trouver la valeur de différents attributs tels que nom, classe, valeur d’un élément?

 getAttribute (« {nomAttribut} ») // la méthode est utilisée pour trouver la valeur d’attributs différents d’un élément 

41) Pourrait biscuits être supprimé dansSElenium?

 driver.manage (). deleteAllCookies (); // commande est utilisée pour supprimer tous les cookies 

42) Comment effectuer un clic droit en utilisant Selenium WebDriver?

La classe Actions suivante est utilisée pour effectuer un clic droit:

 Actions act = new Actions (pilote);

// où driver est WebDriver, type act.moveToElement (webElement) .perform ();

act.contextClick (). perform ();

43) Comment effectuer un glisser-déposer avec Selenium WebDriver?

La classe Actions suivante est utilisée pour effectuer un glisser-déposer:

 Actions constructeur = new Actions (pilote);

Action dragAndDrop = builder.clickAndHold (SourceElement) moveToElement (TargetElement) publication (TargetElement) build ();

dragAndDrop.perform ();

44) commentà vérifier si un élément est visible sur la page?

Le type de méthode de retour est logique. Si le résultat est vrai, l’élément est visible, sinon ce n’est pas le cas. est affiché() la méthode peut être utilisée pour cela:

 driver.findElement (By.id (“id_of_element”)). isDisplayed (); 

45) Comment vérifier si un bouton est activé sur la page? est autorisé()

la méthode peut être utilisée pour cela:

 driver.findElement (By.id (“id_of_element”)). isEnabled (); 

46) Quoigenre de les actions de la souris peuvent être effectuées en sélénium?

Selenium prend en charge différentes actions de la souris, telles que:

  • click (élément WebElement)
  • contextClick (élément WebElement)
  • doubleClick (élément WebElement)
  • mouseUp (élément WebElement)
  • mouseDown (élément WebElement)
  • mouseMove (élément WebElement)
  • mouseMove (élément WebElement, xOffset long, yOffset long)

47) Pouvez-vous write le code pour double-cliquer sur un élémentSElenium?

Code permettant de double-cliquer sur un élément dans Selenium:

 Actions action = new Actions (pilote);

WebElement element = driver.findElement (By.id (« elementId »));

action.doubleClick (element) .perform ();

48) Comment faire passer la souris sur un élément dans Selenium?

Survolez un élément de Selenium avec le code de la souris:

 Actions action = new Actions (pilote);

WebElement element = driver.findElement (By.id (« elementId »));

action.moveToElement (element) .perform ();

49) quoigenre de les opérations au clavier peuvent être effectuées dansSElenium?

Selenium permet d’effectuer différents types d’opérations au clavier, tels que:

  • .pressKey (« clés non textuelles ») est utilisé pour les touches telles que contrôle, touches de fonction, etc. qui ne sont pas du texte
  • .releaseKey (« clés non textuelles ») est utilisé conjointement avec un événement de frappe de touche pour simuler le relâchement d’une touche d’un événement de clavier
  • .sendKeys (« séquence de caractères ») est utilisé pour passer une séquence de caractères à un élément input ou textbox.

50) Qu’est-ce que JUnit? Et qu’est-ce que JUnit Annotation?

JUnit est un framework de test d’applications Java open source, introduit par Apache. Un processus consistant à ajouter une forme spéciale de métadonnées syntaxiques au code source Java est appelé annotation. Les annotations JUnit sont les suivantes: variables, paramètres, packages, méthodes et classes.

51) Qu’est-ce que TestNG et pourquoi est-il meilleur que JUnit?

TestNG est un framework de test inspiré de JUnit et de NUnit permettant d’utiliser les mérites à la fois des développeurs et des testeurs. Voici quelques nouvelles fonctionnalités qui le rendent plus puissant et plus facile à utiliser, telles que:

  • tester que votre code est multithread safe
  • support pour les tests basés sur les données
  • support pour les paramètres
  • une variété d’outils et de plug-ins (Eclipse, IDEA, Maven, etc …)
  • fonctions JDK par défaut pour l’exécution et la journalisation
  • méthodes dépendantes pour le test du serveur d’applications
  • configuration de test flexible

52)Quoisortes de annotationssontutilisé dans TestNG?

Les types d’annotations suivants sont utilisés dans TestNG:

  • Tester
  • AvantSuite
  • AfterSuite
  • AvantTest
  • AfterTest
  • Avant les cours
  • Après les cours
  • Méthode avant
  • Après Méthode

53) Comment définir la priorité des cas de test dans TestNG?

TestNG « Priorité » est utilisé pour planifier les cas de test. Pour ce faire, nous devons ajouter une annotation sous la forme @Test (priorité = ??). La valeur par défaut sera zéro pour la priorité. Si vous ne mentionnez pas la priorité, tous les cas de test seront considérés comme « priorité = 0 » et exécutés.

L’exemple ci-dessous montre l’utilisation de la priorité pour les cas de test.

Comme nous n’avons pas défini la priorité pour le cas de test « Enregistrement », celui-ci sera exécuté en premier, puis les autres cas de test en fonction de la priorité.

 import org.testng.annotations.Test;

public class testNGPriorityExample {
@Test
public void registerAccount()
{
System.out.println(« Create an account »);
}
@Test(priority=2)
public void sendEmail()
{
System.out.println(« Confirm your email »);
}
@Test(priority=1)
public void login ()
{
System.out.println(« Execute login after confirmation »);
}
}

import org.testng.annotations.Test;
public class testNGPriorityExample {
@Test
public void registerAccount() {
System.out.println(« Create an account »);
}
@Test(priority=2)
public void sendEmail() {
System.out.println(« Confirm your account »);
}
@Test(priority=1)
public void login() {
System.out.println(« Execute login after confirmation »);
}
}

54) Expliquez comment vous pouvez rechercher des images brisées dans une page à l’aide du pilote Web Selenium?

Vous devez suivre les étapes suivantes pour rechercher des images endommagées dans une page à l’aide du pilote Web Selenium:

  • obtenir XPath et obtenir tous les liens sur la page en utilisant le nom de la balise
  • cliquez sur chaque lien de la page
  • chercher 404/500 dans le titre de la page cible

55) peut captcha et lecteur de code à barres être automatisé en utilisant sélénium?

Ni captcha, aucun lecteur de code à barres ne peut être automatisé en utilisant Selenium.

56) Comment vérifier le texte de l’info-bulle en utilisantSElenium?

Le texte de l’info-bulle dans Selenium peut être vérifié en récupérant la valeur de l’attribut ‘title’. Un exemple:

 String toolTipText = element.getAttribute (« title »); 

57) Comment localiser un lien en utilisant son texte dansSElenium?

linkText () et partialLinkText () sont utilisés pour la localisation du lien.

Les exemples:

 WebElement link1 = driver.findElement (By.linkText («some_link_test»));

WebElement link2 = driver.findElement (By.partialLinkText («some_link_part_text»));

58)Con trouve tous les liens sur une page web?

Comme tous les liens appartiennent à la balise d’ancrage ‘a’, nous pouvons donc les trouver tous sur une page Web en localisant les éléments de tagName ‘a’:

 Liste des liens = driver.findElements ( By.tagName (« a »)); 

59) Comment pouvons-nous capturer des captures d’écran dans Selenium?

Nous pouvons prendre les captures d’écran en sélénium en utilisant la méthode getScreenshotAs de PrisesScreen interface:

 Fichier scrFile = (pilote (TakesScreenshot)) .getScreenshotAs (OutputType.FILE);

FileUtils.copyFile (scrFile, nouveau fichier (« C: \\ screenshot1.jpg »));

60) Expliquez comment les couleurs pourraient être traitées dans Selenium WebDriver?

Pour gérer les couleurs peuvent être traitées dans Selenium WebDriver en utilisan  Utilisez getCssValue (arg0) fonction pour obtenir les couleurs en envoyant la chaîne ‘couleur’ en argument.

61)Combien d’exceptions connaissez-vous dans Selenium WebDriver?

Il y a 5 exceptions différentes Selenium WebDriver:

  • NoAlertPresentException,
  • NoSuchElementException
  • NoSuchWindowException
  • TimeoutException
  • WebDriverException

62) Comment utiliserez-vous Selenium pour télécharger un fichier?

L’action de téléchargement de fichier peut être effectuée à l’aide de element.sendKeys("chemin du fichier") sur l’élément web de la balise d’entrée et du fichier de type:<name = "fileUpload" type = "fichier" />

63) Qu’est-ce que l’API Robot?

L’API de robot est utilisée pour contrôler le clavier ou la souris afin d’interagir avec les fenêtres du système d’exploitation telles que les fenêtres de téléchargement, les alertes, les fenêtres d’impression, etc.

64) Quelles méthodesde Robot Class le savez-vous?

Certaines méthodes couramment utilisées par Robot Class lors de l’automatisation Web:

  • appuyez sur la touche():méthode avec appuyez sur la flèche du clavier

Exemple:

 keyPress (KeyEvent.VK_DOWN) 

  • keyRelease ():méthode avec relâchement de la flèche du clavier:

Exemple:

 robot.keyRelease (KeyEvent.VK_DOWN) 

  • mouseRelease ()méthode va libérer le clic droit de votre souris

Exemple:

 mouseRelease (InputEvent.BUTTON3_DOWN_MASK) 

  • mouseMove () méthode déplacera le pointeur de la souris sur les coordonnées X et Y spécifiées.

Exemple:

 robot.mouseMove (point.getX (), point.getY ()) 

  • mousePress () méthode va appuyer sur le clic droit de votre souris.

Exemple:

 robot.mousePress (InputEvent.BUTTON3_DOWN_MASK) 

65) Comment exécuter JavaScript dans Selenium?

JavaScriptExecuter est utilisé pour l’exécution de JavaScript dans Selenium.

Un exemple simple:

 pilote WebDriver = new FireFoxDriver ();

if (instance de pilote JavascriptExecutor)

{(pilote (JavascriptExecutor)) .executeScript (« {Code JavaScript} »);

}

66) Quel paquet peut être importé avec WebDriver?

org.openqa.selenium java -cp bin; jars / * org.testng.TestNG testng.xml

67)Commentvousobtenir la largeur de la zone de texte?

Vous pouvez obtenir la largeur de la zone de texte à l’aide de la commande suivante:

 driver.findElement (By.xpath («xpath of textbox»)). GetSize (). GetWidth () ;

driver.findElement (By.xpath («xpath de textbox»)). getSize (). getHeight ()

68) Quelle implémentation de pilote Web est la plus rapide?

Le plus rapide WebDriver est HtmlUnitDriver. Différent des autres pilotes (FireFoxDriver, ChromeDriver, etc.), il n’est pas graphique, tout en exécutant aucun navigateur ne se lance.

69) Quel est le but de la méthode deSelectAll ()?

Il est utilisé pour désélectionner toutes les options sélectionnées dans la liste déroulante.

70) HComment pouvez-vous revenir en arrière?

defaultContent () Cette méthode est utilisée pour revenir à un cadre.

71) Comment se connecter à n’importe quel site s’il affiche une fenêtre d’authentification pour le nom d’utilisateur et le mot de passe?

Vous devez passer le nom d’utilisateur et le mot de passe avec l’URL: https: // nom d’utilisateur: mot de passe @ url https: // creds: [email protected]

72)Quel est leobjectifde la méthode getOptions ()?

getOptions () est utilisé pour obtenir l’option sélectionnée dans la liste déroulante.

73) Quelle est la différence entre getWindowHandles () et getWindowHandle ()?

Vous pouvez obtenir l’adresse du navigateur en utilisant ces commandes. Mais si vous utilisez getWindowHandle (), vous obtiendrez l’adresse du navigateur actuel où se trouve le contrôle et return est de type chaîne. Donc, si vous utilisez getWindowHandles (), vous obtiendrez l’adresse de tout le navigateur ouvert et son type de retour est un itérateur.

74) Expliquez comment vous pouvez utiliser un scénario de récupération avec Selenium?

Vous pouvez utiliser le scénario de récupération en fonction du langage de programmation. S’il s’agit de Java, vous pouvez utiliser la gestion des exceptions pour la surmonter.

75) Comment envoyer les clés ENTRÉE / TAB dans WebDriver?

utilisation Cliquez sur() ou les méthodes submit () sont utilisées pour ENTER. Mais n’oubliez pas que soumettre() Cette méthode est utilisée uniquement si type = ’submit’.

Vous pouvez utiliser la classe Actions act.sendKeys (Keys.ENTER) pour TAB.

76) Comment gérer les alertes dans Selenium WebDriver?

Voici quelques méthodes de traitement des alertes largement utilisées dans Selenium Webdriver.

  • null licencier ()est utilisé pour cliquer sur le bouton ‘Annuler’ de l’alerte.

 driver.switchTo (). alert () licencier (); 

  • void accept ()est utilisé pour cliquer sur le bouton ‘OK’ de l’alerte.

 driver.switchTo (). alert (). accept (); 

  • String getText () est utilisé pour capturer le message d’alerte.

 driver.switchTo (). alert (). getText (); 

  • void sendKeys (String stringToSend)est utilisé pour envoyer des données à la boîte d’alerte.

 driver.switchTo (). alert (). sendKeys (« Text »); 

77) Qu’est-ce qu’un cadre basé sur les données?

Le cadre de conception de test Data Driven suit un paradigme de conception dans lequel la logique de test est fixe mais fait varier les données de test. Les données elles-mêmes peuvent se trouver dans différents référentiels, tels qu’un simple fichier .csv, un fichier .json, une feuille .xls ou une base de données, et peuvent ajouter les tests en mettant simplement à jour ces fichiers externes ou cette base de données (au lieu de les placer dans le code de test lui-même).

78) Qu’est-ce qu’un cadre basé sur des mots clés?

Le cadre basé sur les mots clés est une méthodologie dans laquelle les actions ou les étapes sont traitées comme des mots clés. Ces mots-clés (comme cliquer, déplacer, taper, etc.) sont stockés dans des référentiels externes, au même titre que des données (au format .csv / .json / .xls / DB).

79) Quel estl’hybridecadre?

La combinaison d’un cadre basé sur les données et sur les mots clés s’appelle l’hybride. Voici les opérations / instructions / mots-clés dans un référentiel séparé (.csv / .xls / .json / DB) et les données sont séparées (.csv / .xls / .json / db du fournisseur de données) et les tests / pilotes se liraient à la fois et effectuer les tests réels automatiquement. Dans cette conception, nous obtenons le meilleur des deux méthodologies, et c’est un peu pratique dans la plupart des cas d’automatisation.

80) Quels sont les principaux avantages de Selenium Grid?

Selenium Grid présente les avantages suivants: tests sur plusieurs navigateurs, exécution de tests en parallèle, tests sur plusieurs plates-formes.

81) Qu’est-ce qu’un concentrateur dans Selenium Grid?

Selenium Grid hub est un point central ou un serveur qui contrôle les exécutions de test sur les différentes machines.

82) Qu’est-ce qu’un nœud dans Selenium Grid?

Le nœud Selenium Grid est un ordinateur connecté à un concentrateur, dans lequel des instances exécutent les scripts de test. Contrairement à un concentrateur, il peut y avoir plusieurs nœuds dans Selenium Grid.

83) Pourriez-vous expliquer la ligne de code pilote Webdriver = new FirefoxDriver () ;?

‘WebDriver’ est une interface et nous créons un objet de type WebDriver instanciant un objet de la classe FirefoxDriver.

84) Quel est le but de la création d’une variable de référence – ‘pilote’ de type WebDriver au lieu de créer directement un objet FireFoxDriver ou toute autre référence de pilote dans l’instruction Webdriver driver = new FirefoxDriver () ;?

Nous pouvons utiliser la même variable pour travailler avec plusieurs navigateurs tels que ChromeDriver, IEDriver en créant une variable de référence de type WebDriver.

85) Comment pouvez-vous créer un rapport de test HTML à partir de votre script de test?

Il existe trois manières de créer un rapport de test HTML:

  • utilisation de default.html intégré pour obtenir le rapport HTML dans TestNG
  • avec l’aide d’ANT dans JUnit
  • Utilisation du fichier jar XSL pour convertir le contenu XML en HTML dans ses propres rapports personnalisés

86) Quelle peut être la cause de l’échec du test Selenium WebDriver?

Il y a certaines causes d’échec du test Selenium WebDriver:

  • L’élément SeleniumWebDriver en attente d’accès n’apparaissait pas sur la page Web et l’opération avait expiré
  • SeleniumWebDriver tente d’accéder à l’élément non créé
  • SeleniumWebDriver ne peut pas localiser l’élément car le locator a été modifié

87)Expliquez comment vous pouvez déboguer les tests dans Selenium IDE?

Les tests pourraient être débogués de la manière suivante:

  • insérer un point d’arrêt à partir de l’emplacement où vous souhaitez exécuter le test étape par étape
  • lancer le scénario de test
  • l’exécution du cas de test sera suspendue au point de rupture donné
  • cliquez sur le bouton bleu pour continuer avec la déclaration suivante
  • pour continuer à exécuter toutes les commandes à la fois, cliquez sur le bouton « Exécuter »

88) Qu’est-ce que le fichier testng.xmlutilisé pour?

Le fichier testng.xml permet de configurer l’ensemble d’une suite de tests. Ici, nous pouvons créer une suite de tests, créer des groupes de tests, marquer des tests pour une exécution parallèle, ajouter des écouteurs et transmettre des paramètres à des scripts de test. Il peut être utilisé pour le déclenchement ultérieur de la suite de tests. 

89)Quelle est la différence entre les annotations @Factory et @DataProvider?

@Fournisseur de données concerne des méthodes de test individuelles et exécute les méthodes spécifiques plusieurs fois.@Usine method crée des instances de classe de test et exécute toutes les méthodes de test de cette classe avec des données différentes. ensembles.

90) Dans quel format la vue source est-elle affichée? la script dans Selenium IDE?

Le script est présenté par la vue source Selenium IDE au format XML.

91) Comment les contrôles AJAX pourraient-ilsêtremanipulerd dans WebDriver?

AJAX permet à la page Web de récupérer de petites quantités de données du serveur sans recharger la page entière. Les différentes méthodes d’attente doivent être appliquées pour tester l’application Ajax:

  • ThreadSleep
  • Attente implicite
  • Attente explicite
  • WebdriverWait
  • Attente Courante

92) Qu’est-ce que FirefoxDriver, la classe ou une interface? Et quelle interface implémente-t-il?

FirefoxDriver est une classe Java. Il implémente toutes les méthodes disponibles dans l’interface.

93) Comment pouvons-nous rendre une méthode de test dépendante d’une autre en utilisant TestNG?

Nous pouvons faire en sorte qu’une méthode de test ne soit exécutée qu’après l’exécution réussie d’une méthode de test dépendante en utilisant le paramètre includesOnMethods dans l’annotation @Test dans TestNG: @Test (includesOnMethods = {« preTests »})

94) Comment pourriez-vous explain la principale différence entreWebDrivière et RC?

Selenium WebDriver pilote le navigateur à l’aide de la prise en charge intégrée. RC insère la fonction JavaScript dans les navigateurs lorsque la page est chargée.

95) Qu’est-ce que IntelliJ?

IntelliJ est un IDE qui aide les utilisateurs à écrire du code pour Selenium mieux et plus rapidement. Il pourrait être utilisé comme option pour Java Bean et Eclipse.

96) WQuels sont les avantages de l’utilisation de Git Hub For Selenium??

  • Les membres de plusieurs personnes travaillant sur le même projet peuvent mettre à jour ses détails et en informer simultanément les autres membres de l’équipe.
  • Vous pouvez régulièrement construire le projet à partir du référentiel distant à l’aide de Jenkins. Cela vous aide à garder une trace des générations échouées.

97) Peut-on utiliser Selenium RCpour essais conduiteing sur deux navigateurs différents sur un système d’exploitation sans Selenium Grid?

Nous pouvons le faire si le cadre de test JAVA n’est pas utilisé. Si nous utilisons le pilote client Java de Selenium, au lieu d’utiliser le framework de test Java, TestNG nous permet de ne pas utiliser Selenium Grid.

98)Comment pouvons-nous exécuter des cas de test en parallèle à l’aide de TestNG?

Vous devriez juste ajouter ces deux paires clé-valeur dans la suite pour exécuter les tests en parallèle:

parallel = "{méthodes / tests / classes}"

thread-count = "{nombre de threads que vous souhaitez exécuter simultanément}".

99) Hcomment allez-vous testervotre propre localisateur d’éléments?

« Bouton Trouver » de Selenium IDE est utilisé pour tester le localisateur. En cliquant sur ce bouton, vous verrez à l’écran si votre localisateur d’élément est correct ou incorrect.

Aussi, vous cune utilisation« FirePath » plugin dans FireFox

100) Wpoule AutoITest utilisationré?

AutoIT est utilisé pour gérer les fenêtres contextuelles d’interface graphique utilisateur et non HTML dans l’application.

101) WUne API est requise fou test de base de données dans Selenium WebDrivière?

L’API JDBC (Java Database Connectivity) est Champs obligatoires fou test de base de données dans Selenium WebDrivière.  

102) Quelle API Java est requise pour générer des rapports pdf?

L’API Java IText est nécessaire pour générer des rapports PDF.

103)ExpliquePourquoi choisir Python plutôt que Java dans Selenium.

Voici quelques points qui favorisent l’utilisation de Python par rapport à Java avec Selenium:

  • Python est plus simple et plus compact que Java
  • Java utilise des accolades traditionnelles pour commencer et terminer les blocs, tandis que Python utilise l’indentation
  • Java utilise le typage statique, tandis que Python est dynamiquement typé
  • Les programmes Java ont tendance à fonctionner plus lentement que les programmes Python

104) How pouvez-vous gérer la latence du réseauuchanter Selenium?

Vous pouvez utiliserdriver.manage (). timeouts (). pageLoadTimeout (); pour la latence du réseau

105) How pouvez-vous exécuter Selenium Servero-il que le port par défaut 4444?

Le serveur Selenium peut être exécuté sur un port java-jar selenium-server.jar-port autre que son port par défaut.

106) Expliquez comment vous pouvez capturer le journal côté serveur Selenium Server?

Pour capturer le journal côté serveur dans Selenium Server, vous pouvez utiliser la commande suivante: java –jar .jar –log selenium.log

107) WQu’est-ce qu’un cadre et quels sont les cadres disponibles dans RC?

La structure est un ensemble de bibliothèques et de classes permettant aux testeurs d’automatiser les cas de test. NUnit, JUnit, TestNG, Bromine, RSpec, unit tests are some of the frameworks available in RC.

108) Explain how can you insert a start point in Selenium IDE?

Selenium IDE can be set in two ways:

  • in Selenium IDE right click on the command and the select  “Set / Clear Start Point”
  • press “S” key on the keyboard and select the command in Selenium IDE

109) What are the two modes of views in Selenium IDE?

Selenium IDE can be opened as a pop-up window or in side bar

110) What is Object Repository?

Object repository is an essential entity in any UI automation which allows a tester to store all object that will be used in the scripts in one or more centralized locations rather than scattered all over the test scripts.