Questions d'entretien Selenium

Par Aaron Cao · Mis à jour le

Questions d'entretien Selenium
Les entretiens Selenium se concentrent sur les attentes, les locators, le Page Object Model et les raisons pour lesquelles les tests deviennent instables. Attendez-vous à expliquer la différence entre attente implicite et attente explicite, à choisir CSS plutôt que XPath et à défendre ce choix, à résoudre une erreur d'élément périmé, et à décrire comment votre framework exécute les tests en parallèle.

Les entretiens Selenium se concentrent sur les attentes, les locators, le Page Object Model et les raisons pour lesquelles les tests deviennent instables. Attendez-vous à expliquer la différence entre attente implicite et attente explicite, à choisir CSS plutôt que XPath et à défendre ce choix, à résoudre une erreur d'élément périmé, et à décrire comment votre framework exécute les tests en parallèle.

Que demandent les recruteurs sur les attentes et les locators ?

Vous avez écrit des tests qui passent en local mais échouent dans le pipeline, et vous soupçonnez que la réponse a un rapport avec les attentes sans savoir l'exprimer clairement. Les recruteurs le savent, c'est pourquoi les attentes ouvrent la plupart des entretiens Selenium. Cette section explique à quoi ressemble une réponse complète.

  • Attente implicite ou explicite. Une attente implicite est un réglage global qui vérifie la présence d'un élément à chaque recherche. Une attente explicite cible un seul élément et une seule condition, comme cliquable ou visible. L'attente explicite est préférée car elle indique clairement ce que vous attendez.
  • Pourquoi ne faut-il pas les mélanger ? Combiner les deux peut cumuler les délais de manière difficile à prévoir, c'est pourquoi la plupart des équipes mettent l'attente implicite à zéro et n'utilisent que des attentes explicites.
  • Qu'est-ce qu'un fluent wait ? Une attente explicite dont l'intervalle de sondage est configurable et qui ignore certains types d'exceptions.
  • Pourquoi Thread.sleep est-il déconseillé ? Il est inconditionnel. Il ralentit un test qui aurait réussi et échoue quand même avec un test lent.
  • Sélecteur CSS ou XPath ? Privilégiez un attribut d'identification stable dédié aux tests, puis CSS pour la lisibilité. XPath trouve sa place quand vous devez remonter vers un parent ou faire correspondre du texte.
  • Qu'est-ce qui rend un locator fragile ? Les noms de classe générés automatiquement, les XPath absolus et la sélection par index. Dites ce que vous demanderiez à un développeur d'ajouter à la place.

Les recruteurs écoutent la raison derrière chaque choix. Nommer une préférence sans en mentionner le coût donne l'impression d'une réponse apprise par cœur.

Comment répondre aux questions sur les exceptions et l'instabilité ?

L'instabilité des tests est le vrai sujet de la plupart des entretiens d'automatisation senior, car une suite à laquelle personne ne fait confiance est pire que l'absence de suite.

  • Qu'est-ce qui provoque une StaleElementReferenceException ? La référence de l'élément pointe vers un nœud qui n'est plus attaché, généralement parce que le framework a re-rendu cette partie de la page. Recherchez à nouveau l'élément plutôt que de réutiliser la référence stockée.
  • Et l'ElementNotInteractableException ? L'élément existe mais ne peut pas être manipulé : il est caché, désactivé, recouvert par un calque, ou hors de l'écran.
  • Comment gérer une NoSuchElementException ? Distinguez un problème de timing d'un élément réellement absent, et ne masquez pas le problème en allongeant l'attente.
  • Pourquoi les tests échouent-ils seulement dans le pipeline ? Une taille de fenêtre différente, un environnement plus lent, des données de test manquantes, des animations qui se terminent plus tard, et des tests parallèles qui se disputent un état partagé.
  • Comment corriger un test instable ? Diagnostiquez d'abord la catégorie, puis corrigez la cause. La reprise automatique masque les échecs et doit être présentée comme un dernier recours.
  • Comment gérer les frames, nouvelles fenêtres et alertes ? En changeant explicitement de contexte, puis en revenant en arrière ensuite.

Un ingénieur QA candidat à un poste d'automatisation de niveau intermédiaire s'est vu demander pourquoi une suite échouait deux fois par semaine sans aucun changement de code. La réponse retenue n'était pas un détail de l'API Selenium, mais le fait que les tests partageaient un seul compte préconfiguré et se faisaient concurrence. Les recruteurs valorisent cet ordre de diagnostic : l'environnement et les données d'abord, l'API ensuite.

D'autres banques de questions par rôle et par outil se trouvent sous questions d'entretien par rôle.

Quelles questions sur le framework et l'architecture reviennent ?

Au-delà de l'API, les recruteurs veulent savoir si vous pouvez prendre en charge une suite entière. Ces questions pèsent le plus pour les postes senior.

  • Expliquez le Page Object Model. Les classes Page exposent des actions et cachent les locators, de sorte qu'un changement d'interface ne touche qu'un seul fichier. Dites quel problème cela résout ; décrire uniquement la structure des dossiers passe à côté de l'essentiel.
  • Qu'est-ce qui pose problème avec les Page Objects ? Ils grossissent en classes de mille lignes et commencent à faire des assertions dans les méthodes de page. Les assertions doivent rester dans les tests.
  • Comment votre framework exécute-t-il les tests en parallèle ? Une gestion des drivers thread-safe pour que les instances ne soient pas partagées entre threads, ainsi que des données de test indépendantes pour chaque test.
  • À quoi sert Selenium Grid ? À répartir les tests sur plusieurs machines et versions de navigateur, avec un hub et des nodes, ou un fournisseur cloud jouant le même rôle.
  • Qu'est-ce qui a changé avec Selenium 4 ? Le protocole W3C WebDriver est devenu la norme et l'ancien JSON wire protocol a été supprimé, des locators relatifs sont apparus, et l'accès au Chrome DevTools Protocol a été exposé.
  • Quand ne faut-il pas utiliser Selenium ? Les vérifications au niveau API, la logique testable unitairement, et tout ce qui est hors du navigateur. Connaître cette limite est un signal de séniorité.
  • Comment décidez-vous quoi automatiser ? Des parcours stables, à forte valeur et répétitifs. Pas tout, et pas un écran encore en cours de refonte.

Comment s'entraîner avant l'entretien ?

Les réponses sur Selenium sont particulièrement faciles à connaître et difficiles à formuler. La question des attentes en particulier a une réponse en deux parties, la définition et la raison, et les candidats qui n'ont fait que lire cela ne livrent que la première moitié avant de s'essouffler.

Prenez les cinq questions ci-dessus que vous redoutez le plus et répondez à chacune à voix haute en quatre-vingt-dix secondes, sans éditeur ouvert. Puis demandez à quelqu'un de poser la question suivante, presque toujours pourquoi. S'entraîner sur les mêmes questions face à un intervieweur IA qui relance est plus proche d'un véritable entretien que relire une liste, et c'est exactement à cela que sert le mode entretien simulé.

Aaron Cao, fondateur de SubcueAI, a construit cet entraînement autour de cet écart à l'oral plutôt qu'autour de la fourniture de plus de questions. Lors d'un entretien réel, l'application de bureau et le panneau latéral de l'extension navigateur peuvent faire apparaître une structure pendant que le recruteur parle, ce qui aide surtout sur du contenu déjà répété. Ce que le produit fait, et les limites qu'il ne franchit jamais, sont détaillées sur la page sécurité.

FAQ

Selenium vaut-il encore la peine d'être appris avec Playwright et Cypress ?

Oui, pour les nombreuses équipes disposant déjà de grandes suites Selenium, et les concepts se transfèrent directement. Les recruteurs demandent de plus en plus de les comparer, donc soyez prêt à citer l'attente automatique et l'architecture mono-processus comme raisons de choisir les outils plus récents.

Quel langage dois-je utiliser lors d'un entretien Selenium ?

Celui indiqué dans l'offre d'emploi, généralement Java ou Python. L'API est presque identique selon les bindings, donc le langage compte surtout pour les questions de framework, le test runner, la gestion des dépendances et la structuration du projet.

Les entretiens Selenium comportent-ils du live coding ?

Fréquemment. Un exercice courant consiste à automatiser une connexion ou une recherche sur un site public, le recruteur observant vos choix de locators et si vous avez recours à un sleep. Expliquez à voix haute pourquoi vous choisissez chaque locator au fur et à mesure.

Selenium peut-il gérer les CAPTCHA ou les boîtes de dialogue d'upload de fichiers ?

Les CAPTCHA sont conçus pour bloquer l'automatisation, donc la réponse acceptée est de les désactiver en environnement de test ou d'utiliser un jeton de contournement. Les boîtes de dialogue de fichiers natives de l'OS sont hors du navigateur, vous envoyez donc le chemin directement à l'élément input.

Un assistant IA peut-il m'aider pendant un entretien d'automatisation en direct ?

Il peut faire apparaître une structure pendant que le recruteur parle, ce qui fonctionne mieux sur du contenu que vous connaissez déjà. Il ne remplace pas l'entraînement, et le partage d'écran, les enregistrements, les évaluations surveillées et les appareils gérés par l'entreprise restent hors de son champ d'action.

Questions liées

← Plus sur Questions d’entretien par poste et par thème