Les tests sont une phase cruciale du cycle de vie du développement logiciel (SDLC). Les tests manuels, en particulier, impliquent l’exécution physique de cas de test contre les applications pour détecter les bogues et les erreurs. Cependant, les tests manuels posaient de nombreux défis et une méthode pour automatiser le processus de test était en demande. En conséquence, le sélénium, un puissant outil de test automatisé, a été introduit.,

Selenium est un outil de test automatisé open source utilisé pour tester des applications web sur différents navigateurs. Alors, voici la partie triste, Selenium ne peut tester que des applications web. Les applications de bureau et mobiles ne peuvent pas être testées à L’aide de Selenium. Cependant, d’autres outils, tels que QTP et Appium de HP, entre autres, peuvent être utilisés pour tester des logiciels et des applications mobiles.

Démarquez-vous de vos pairs cette saison d’évaluation

commencez à apprendre avec nos cours GRATUITSENROLL Now

mais qu’est-ce qui fait de Selenium l’outil de test largement utilisé?, Voici quelques raisons:

  1. le Sélénium est facile à utiliser car il est essentiellement développé en JavaScript.
  2. Selenium peut tester des applications web contre des navigateurs comme Firefox, Opera, Chrome et Safari, pour n’en nommer que quelques-uns.
  3. le code de test peut être écrit dans différents langages de programmation comme Java, Perl, Python et PHP.
  4. Selenium est indépendant de la plate-forme et peut être déployé sur différents systèmes d’exploitation comme Windows, Linux et Macintosh.
  5. Selenium peut être intégré à des outils tiers tels que JUnit et TestNG pour la gestion des tests.,

Si vous êtes tous prêts pour une entrevue au sélénium, voici les 30 questions les plus fréquemment posées.

questions D’entrevue au sélénium de niveau débutant

Quels sont les composants de la suite Selenium?

Selenium ID

C’est un plug-in Firefox / Chrome qui a été développé pour accélérer la création de scripts d’automatisation. Il enregistre les actions de l’utilisateur sur le navigateur web et les exporte sous forme de script réutilisable.

Selenium Remote Control (RC)

RC est un serveur qui permet aux utilisateurs d’écrire des tests d’application dans divers langages de programmation., Les commandes du script de test sont acceptées par ce serveur et sont envoyées au navigateur en tant que commandes JavaScript Selenium core. Le navigateur se comporte alors en conséquence.

Selenium WebDriver

WebDriver est une interface de programmation qui permet de créer et d’exécuter des cas de test. Il prévoit d’agir sur les éléments web. Contrairement à RC, WebDriver ne nécessite pas de serveur supplémentaire et interagit nativement avec les applications du navigateur.

Selenium Grid

la grille a été conçue pour distribuer des commandes à différentes machines simultanément., Il permet l’exécution parallèle de tests sur différents navigateurs et différents systèmes d’exploitation. Il est exceptionnellement flexible et est intégré avec d’autres composants de la suite pour une exécution simultanée.

quelles sont les limites des tests de sélénium?

  1. indisponibilité d’un support technique fiable: Selenium étant un outil open-source, il ne dispose pas d’un support technique dédié pour résoudre les requêtes des utilisateurs.
  2. teste uniquement les applications web: Selenium doit être intégré à des outils tiers tels que Appium et TestNG pour tester des applications de bureau et Mobiles.,
  3. prise en charge limitée des tests d’image.
  4. aucun outil intégré de gestion des rapports et des tests: Selenium doit être intégré à des outils tels que TestNG ou JUnit, entre autres, pour faciliter les rapports et la gestion des tests.
  5. peut nécessiter la connaissance des langages de programmation: Selenium WebDriver s’attend à ce que l’utilisateur ait des connaissances de base sur la programmation.

Quels sont les types de tests pris en charge par Selenium?

Selenium prend en charge les tests de régression et les tests fonctionnels.,

Test de régression – il s’agit d’une sélection complète ou partielle de cas de test déjà exécutés qui sont réexécutés pour s’assurer que les fonctionnalités existantes fonctionnent correctement.

Les étapes impliquées sont –

  1. Re-test: tous les tests de la suite de tests existante sont exécutés. Cela s’avère très coûteux et prend beaucoup de temps.
  2. sélection des tests de régression: les Tests sont classés comme des tests de caractéristiques, des tests d’intégration et des tests de bout en bout. Dans cette étape, certains des tests sont sélectionnés.,
  3. hiérarchisation des cas de test: les cas de test sélectionnés sont hiérarchisés en fonction de l’impact métier et des fonctionnalités critiques.

tests fonctionnels – les tests fonctionnels impliquent la vérification de chaque fonction de l’application avec les spécifications requises.

voici Les étapes à suivre:

  1. Identifier les test d’entrée
  2. Calculer le résultat du test
  3. tester
  4. Comparer le résultat de ce test avec le résultat réel

Quelle est la différence entre le Sélénium 2.0 et le Sélénium 3.0?

sélénium 2.,0 est un outil qui facilite le développement de tests automatisés pour les applications web. Il représente la fusion du projet Selenium original avec le projet WebDriver. Selenium RC obtenu obsolète depuis la fusion, cependant, a été utilisée pour assurer la compatibilité

le Sélénium 3.0 est la version étendue de Sélénium 2.0. Il est intrinsèquement rétrocompatible et n’implique pas de sélénium RC. La nouvelle version est venue avec plusieurs corrections de bugs et une stabilité accrue.,

qu’est-Ce que la même politique de l’origine et comment est-il géré?

La stratégie Same Origin est une fonctionnalité adoptée à des fins de sécurité. Selon cette politique, un navigateur Web permet aux scripts d’une page Web d’accéder au contenu d’une autre page Web à condition que les deux pages aient la même origine. L’origine fait référence à une combinaison du schéma D’URL, du nom d’hôte et du numéro de port.

la même stratégie D’origine empêche un script malveillant sur une page d’accéder à des données sensibles sur une autre page web.,

considérons un programme JavaScript utilisé par google.com. cette application de test peut accéder à toutes les pages de domaine Google comme google.com/login, google.com/mail, etc. Cependant, il ne peut pas accéder aux pages d’autres domaines comme yahoo.com

Selenium RC a été introduit pour résoudre ce problème. Le serveur agit comme un proxy HTTP configuré par le client et » trompe  » le navigateur en lui faisant croire que Selenium Core et l’application web testée proviennent de la même origine.,

Full Stack Java Developer

La Passerelle vers le Master Web DevelopmentExplore Cours

qu’est-Ce que Selenese? Comment est-il classé?

Selenese est l’ensemble des commandes Selenium utilisées pour tester votre application web. Le testeur peut tester les liens brisés, l’existence d’un objet sur L’interface utilisateur, la fonctionnalité Ajax, les alertes, la fenêtre, les options de liste et bien plus encore en utilisant Selenese.,

Action: les Commandes qui interagissent directement avec l’application

Accesseurs: Permettre à l’utilisateur de stocker certaines valeurs à une variable définie par l’utilisateur

Assertions: Vérifie l’état actuel de l’application avec un état attendu

Mentionner les types de Web locators.

Locator est une commande qui indique à Selenium ID quels éléments GUI ( disons zone de texte, boutons, cases à cocher, etc.) il doit fonctionner. Les localisateurs spécifient la zone d’action.,

Locator by ID: il prend un paramètre string qui est une valeur de L’attribut ID qui renvoie l’objet à la méthode findElement ().

driver.findElement(By.id (”utilisateur »));

Localisateur par le lien: si votre élément ciblé est un texte de lien, vous pouvez utiliser le by.Localisateur de liens pour localiser cet élément.

pilote.findElement (par.linkText (”offres D’Aujourd’hui »)).click ();

Localisateur par lien partiel: le lien cible peut être localisé à l’aide d’une partie de texte dans un élément de texte de lien.

pilote.findElement (par.linkText (”Service »)).,click ();

Locator by Name: Le premier élément dont la valeur d’attribut name correspond à l’emplacement sera renvoyé.

driver.findElement(By.name (”books »). click ());

Locator by TagName: localise tous les éléments avec le nom de balise correspondant

driver.findElement (par.tagName(« bouton”).click ());

Locator by classname: recherche les éléments en fonction de la valeur de l’attribut CLASS. Si un élément a plusieurs classes, cela correspondra à chacune d’elles.

pilote.findElement (par.,className (« inputtext »));

Locator by XPath: il prend un paramètre de String qui est une XPATHEXPRESSION et il renvoie un objet à la méthode findElement ().

pilote.findElement (par.xpath(« //span”)).gettext ();

Localisateur par sélecteur CSS: localise les éléments en fonction du moteur de sélecteur CSS sous-jacent du pilote.

driver. findElement(par. cssSelector (« input#email »)). sendKeys(« [email protected]”);

Quels sont les types d’attente supportés par WebDriver?,

Implicite d’attente Implicite d’attente des commandes de Sélénium à attendre un certain temps avant de lancer une « Aucun élément” exception.

pilote.gérer().timeouts().implicitlyWait(Délai d’attente, TimeUnit.

Explicit wait – Explicit wait est utilisé pour dire au pilote Web d’attendre certaines conditions avant de lancer une exception « ElementNotVisibleException ».,

WebDriverWait wait = new WebDriverWait(WebDriver Reference, TimeOut);

Fluent wait – il est utilisé pour dire au pilote web d’attendre une condition, ainsi que la fréquence avec laquelle nous voulons vérifier la condition avant de lancer une exception « ElementNotVisibleException ».

mentionnez les types de commandes de navigation

driver.navigate().to (« https://www.ebay.in/ »); – navigue vers l’URL fournie

driver.naviguer().refresh (); – cette méthode actualise le pilote de la page en cours.naviguer().,forward(); – cette méthode effectue la même opération que de cliquer sur le bouton Forward de n’importe quel navigateur. Il n’accepte ni ne renvoie rien.

pilote.naviguer().back(); – cette méthode effectue la même opération que de cliquer sur le bouton Back de n’importe quel navigateur. Il n’accepte ni ne renvoie rien.

Quelle est la différence majeure entre driver.close() et le pilote.quit ()?

le pilote.close ()

Cette commande ferme la fenêtre actuelle du navigateur. Si plusieurs fenêtres sont ouvertes, la fenêtre de mise au point actuelle sera fermée.

pilote.,quit ()

lorsque quit () est appelé sur l’instance du pilote et qu’une ou plusieurs fenêtres de navigateur sont ouvertes, il ferme toutes les fenêtres de navigateur ouvertes.

questions D’entrevue au sélénium de niveau intermédiaire

comment taper du texte dans une zone de saisie à L’aide de sélénium?

sendKeys() est la méthode utilisée pour taper du texte dans les zones de saisie

considérons l’exemple suivant –

WebElement email = driver.findElement(By.id (”email »)); – trouve le texte” email »à l’aide du localisateur D’ID

email.sendKeys (« [email protected]”); – entre du texte dans le champ URL

WebElement password = driver.,recherche(By.id (« Password »)); – trouve le texte” password  » à l’aide du mot de passe ID locator

.sendKeys (”abcdefgh123″); – entre du texte dans le champ Mot de passe

Comment cliquer sur un lien hypertexte dans Selenium?

le pilote.findElement (par.linkText (”offres D’Aujourd’hui »)).click ();

la commande trouve l’élément en utilisant le texte du lien, puis clique sur cet élément, où après l’utilisateur serait redirigé vers la page correspondante.

pilote.findElement (par.partialLinkText (”Service »)).,click ();

la commande ci-dessus trouve l’élément en fonction de la sous-chaîne du lien fourni dans la parenthèse et donc partialLinkText () trouve l’élément web.

comment faire défiler une page en utilisant JavaScript?

la méthode scrollBy() est utilisée pour faire défiler la page web

syntaxe générale:

executeScript(« fenêtre.scrollBy(x-pixels,y-pixels) »);

tout d’Abord, créez un objet JavaScript

JavascriptExecutor js = (JavascriptExecutor) driver;

Lancer l’application souhaitée

le pilote.,get(« https://www.amazon.com”);

faites Défiler jusqu’à l’emplacement souhaité

js.executeScript (« fenêtre.scrollBy (0,1000) »);

la fenêtre ne défile pas verticalement de 1000 pixels

comment affirmer le titre d’une page Web?

récupère le titre de la page Web et stocke dans une variable

String actualTitle = driver.getTitle();

Texte du titre

la Chaîne de expectedTitle = « abcdefgh »;

Vérifiez si les deux sont égaux

si(actualTitle.equalsIgnoreCase(expectedTitle))

Système.hors.println(« Titre d’appariement »);

else

Système.hors.,println(« le Titre ne correspond pas à »);

Sinon,

Assert.assertEquals (actualTitle, expectedTitle);

Comment passer la souris sur un élément web?

L’utilitaire de classe Actions est utilisé pour survoler un élément web dans Selenium WebDriver

instancier la classe Actions.

Actions action = New Actions (driver);

dans ce scénario, nous survolons la zone de recherche d’un site web

actions.moveToElement(driver.findElement(By.id (« id de la boîte de recherche »))).,perform ();

maîtrisez des concepts de test importants tels que TestNG, Selenium ID, Selenium Grid, Selenium WebDriver. Consultez la formation de certification de sélénium. S’inscrire maintenant!

comment récupérer les propriétés CSS d’un élément?

la méthode getCssValue () est utilisée pour récupérer les propriétés CSS de n’importe quel élément web

syntaxe générale:

driver.findElement(By.id vous pouvez utiliser l’attribut css pour créer un fichier de type CSS. (« id »)). getCssValue (”nom de l’attribut css »);

exemple:

driver. findElement (By.id (« email »)). getCssValue (”font-size »);

QU’est-ce que POM (modèle D’objet de Page)?,

chaque page Web de l’application a une classe de page correspondante qui est responsable de localiser les éléments web et d’effectuer des actions sur eux. Le modèle D’objet de Page est un modèle de conception qui aide à créer des référentiels d’objets pour les éléments web. POM améliore la réutilisabilité et la lisibilité du code. Plusieurs cas de test peuvent être exécutés sur le référentiel d’objets.

Peut être automatisé?

Non, Selenium ne peut pas automatiser ., Eh bien, tout le concept de est de s’assurer que les bots et les programmes automatisés n’accèdent pas aux informations sensibles – C’est pourquoi, Selenium ne peut pas l’automatiser. L’ingénieur de test d’automatisation doit taper manuellement le tandis que d’autres champs peuvent être remplis automatiquement.

comment Selenium gère-t-il les pop-ups Windows?

Selenium a été conçu pour gérer les applications web. Les fonctionnalités basées sur Windows ne sont pas prises en charge nativement par Selenium. Cependant, des outils tiers tels que AutoIT, Robot, etc. peuvent être intégrés à Selenium pour gérer les fenêtres contextuelles et autres fonctionnalités basées sur Windows.,

Comment prendre des captures d’écran dans WebDriver?

L’interface TakeScreenshot peut être utilisée pour prendre des captures d’écran dans WebDriver.

la méthode getScreenshotAs() peut être utilisée pour enregistrer la capture d’écran

fichier scrFile = ((TakeScreenshot)pilote).getScreenshotAs(typesortie.

questions D’entrevue au sélénium de niveau avancé

existe-t-il un moyen de taper une zone de texte sans utiliser sendKeys()?

Oui! Le texte peut être entré dans une zone de texte en utilisant JavaScriptExecutor

JavascriptExecutor JSE = (JavascriptExecutor) driver;

jse.executeScript (« document.getElementById (’email’).,valeur= »[email protected] »);

comment sélectionner une valeur dans une liste déroulante dans Selenium WebDriver?

Select class dans WebDriver est utilisé pour sélectionner et désélectionner des options dans une liste déroulante.

Les objets de type Select peuvent être initialisés en passant le WebElement déroulant en tant que paramètre à son constructeur.vous avez besoin D’un pilote de test. (By.id (« testingDropdown »));

Select dropdown = new Select (testDrop);

WebDriver offre trois façons de sélectionner à partir d’une liste déroulante:

selectByIndex: sélection basée sur l’index à partir de 0

liste déroulante.,selectByIndex(5);

selectByValue: Sélection basée sur la valeur

liste déroulante.selectByValue (« Books »);

selectByVisibleText: sélection d’une option qui affiche le texte correspondant à l’argument donné

liste déroulante.selectByVisibleText (« The Alchemist »);

Que fait la commande switchTo ()?

la commande switchTo() est utilisée pour basculer entre les fenêtres, les cadres ou les fenêtres contextuelles de l’application. Chaque fenêtre instanciée par le WebDriver reçoit une valeur alphanumérique unique appelée « Handle de fenêtre ».,

Obtenir le handle de fenêtre de la fenêtre que vous souhaitez passer à la

la Chaîne de poignée= pilote.getWindowHandle ();

passer à la fenêtre souhaitée

pilote.switchTo ().pour cela, vous pouvez utiliser la fonction handle(handle), mais aussi

Pour(String handle= driver.getWindowHandles())

{ pilote.switchTo ().window (handle); }

comment télécharger un fichier dans Selenium WebDriver?

Vous pouvez y parvenir en utilisant sendkeys() ou la méthode de classe Robot. Localisez la zone de texte et définissez le chemin du fichier à l’aide de sendkeys() et cliquez sur le bouton Soumettre

recherchez le bouton PARCOURIR

WebElement browse =driver.,recherche(By.id (« uploadfile »));

passez le chemin du fichier à télécharger en utilisant la méthode sendKeys

parcourir.sendKeys(« D:\\SeleniumInterview\\UploadFile.txt »);

Comment définir la taille de la fenêtre du navigateur en Sélénium?

la taille de La fenêtre peut être agrandie, ensemble ou redimensionnée

afin De maximiser la fenêtre

le pilote.gérer().fenêtre().maximiser();

Pour définir la taille de la fenêtre

Dimension d = new Dimension(400,600);

le pilote.gérer().fenêtre().setSize (d);

alternativement,

la taille de la fenêtre peut être réinitialisée à l’aide du pilote JavaScriptExecutor

((JavascriptExecutor)).,executeScript (« fenêtre.resizeTo(1024, 768) »);

quand utilisons-nous findElement () et findElements ()?

findElement() est utilisé pour accéder à n’importe quel élément de la page web. Il renvoie l’objet du premier élément correspondant de la localisation.

syntaxe générale:

WebElement element = driver.findElement(By.id (exemple));

findElements () est utilisé pour trouver tous les éléments de la page Web en cours correspondant à la valeur de localisateur spécifiée. Tous les éléments correspondants seraient récupérés et stockés dans la liste des éléments Web.,

syntaxe Générale:

Liste <WebElement> elementList = pilote.findElements(Par.id(exemple));

qu’est Ce qu’une pause sur une exception dans Selenium IDE?

L’utilisateur peut utiliser cette fonctionnalité pour gérer les exceptions en cliquant sur l’icône de pause dans le coin supérieur droit de l’IDE. Lorsque le script trouve une exception, il s’arrête à cette instruction particulière et entre dans un mode de débogage. L’ensemble du cas de test n’échoue pas et l’utilisateur peut donc rectifier l’erreur immédiatement.,

comment se connecter à un site s’il affiche une fenêtre contextuelle D’authentification pour le nom d’Utilisateur et le mot de passe?

pour gérer les fenêtres contextuelles d’authentification, vérifiez leur apparence, puis gérez-les à l’aide d’une commande d’attente explicite.

Utiliser explicitement l’attente de la commande

WebDriverWait attendre = new WebDriverWait(pilote, 10);

Alerte de classe est utilisé pour vérifier l’alerte

Alert alert = attendre.jusqu'(ExpectedConditions.alertIsPresent());

une Fois vérifié, fournissez les informations d’identification

alerte.,authenticateUsing(nouveau UserAndPassword(<nom d’utilisateur>, <mot de passe>));

Quelle est la différence entre simple et double slash dans Xpath?

une barre oblique unique est utilisée pour créer Xpath avec un chemin absolu, c’est-à-dire que le XPath serait créé pour démarrer la sélection à partir du nœud de démarrage.

/html/body/div/div/div/un

Double barre oblique est utilisée pour créer Xpath avec chemin relatif, c’est à dire, le XPath serait créé pour démarrer la sélection à partir de n’importe où dans le document

//div/a

Comment trouvez-vous des liens cassés dans Selenium WebDriver?

Lorsque nous utilisons le pilote.get () méthode pour naviguer vers une URL, il répondra avec un statut de 200-OK

200 – OK indique que le lien fonctionne et qu’il a été obtenu. Si un autre statut est obtenu, cela indique que le lien est rompu.,

Certains des codes d’état HTTP sont :

  • 200 – Lien valide
  • 404 – Lien introuvable
  • de 400 Bad Request
  • 401 – non autorisé
  • 500 – erreur Interne

Comme un démarreur, d’obtenir des liens à partir de l’application web, et puis individuellement obtenir leur statut.

accédez à la page Web intéressée pour par exemple www.amazon.com

Rassemblez tous les liens de la page web. Tous les liens sont associées à la Balise ‘a‘

Liste<WebElement> liens = pilote.findéléments (par.,tagname (« a »));

créez une liste de type WebElement pour y stocker tous les éléments de lien.

pour(int i = 0; I<liens.si vous avez besoin d’un élément WebElement, vous pouvez le faire.get(i);

String url=element.getAttribute (« href »);

verifyLink (url);}

créez maintenant une connexion en utilisant L’objet URL( c’est-à-dire

URL link = nouvelle URL(urlLink);

connectez-vous en utilisant la méthode Connect

HttpURLConnection httpConn =(HttpURLConnection)link.vous pouvez utiliser getResponseCode () pour obtenir le code de réponse

if(httpConn.getResponseCode ()!,== 200)

Par exception, si une erreur s’est produite

Système.hors.println (« Broken Link »);

votre prochaine étape vers le succès

Après avoir parcouru ces questions D’entrevue au sélénium, vous auriez compris, quel genre de questions peuvent être posées et comment y répondre.

Nous avons un expert de l’industrie qui illustre certains morceaux de code tout en expliquant comment répondre aux questions. Si vous souhaitez vous lancer dans votre aventure en tant qu’ingénieur en automatisation de test, voici un cours de certification qui vous sera utile. Consultez le cours de formation Selenium de Simplilearn., Cette formation est conçue pour former les développeurs et les testeurs manuels à apprendre à automatiser les applications web avec un framework robuste, à les intégrer dans les processus DevOps d’une organisation et à maîtriser des concepts importants tels que TestNG, Selenium ID et Selenium Grid.

Articles

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *