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:
- le Sélénium est facile à utiliser car il est essentiellement développé en JavaScript.
- Selenium peut tester des applications web contre des navigateurs comme Firefox, Opera, Chrome et Safari, pour n’en nommer que quelques-uns.
- le code de test peut être écrit dans différents langages de programmation comme Java, Perl, Python et PHP.
- 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.
- 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?
- 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.
- 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.,
- prise en charge limitée des tests d’image.
- 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.
- 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 –
- 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.
- 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.,
- 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:
- Identifier les test d’entrée
- Calculer le résultat du test
- tester
- 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.