Vous êtes sur la page 1sur 8

Résultats du test en ligne - Hightest

Vous avez bien répondu à 5 question(s) sur 20, soit 25 % de réussite. Il faudrait monter
jusqu'à 65 %. Courage !

Quel est le problème ici ?

1. L'id est mal formé.


2. Le type de la valeur de retour est incohérent.
3. La variable 'driver' n'a pas été déclarée.
4. La méthode findElement() n'existe pas (findElements() en revanche existe).

Solution

La méthode findElement retourne un objet de type WebElement, alors que c'est une
String qui est attendue. La méthode getText(), ou getAttribute('value') pour les inputs,
aurait permis de retourner le bon type à partir de ce WebElement.

Vous n'avez pas trouvé cette réponse.

Cette erreur est survenue au moment de cliquer sur un bouton. Que signifie-t-elle
?

1. Le bouton est bien présent dans la page, mais il n'est pas cliquable.
2. Le bouton est absent de la page.
3. Le sélecteur du bouton était invalide.
4. Le navigateur devrait être mis à jour.

Solution

Cette erreur peut survenir lorsqu'un bouton désactivé est cliqué, par exemple au sein
d'un formulaire dont les champs obligatoires n'ont pas été remplis.

Vous n'avez pas trouvé cette réponse.

Quel est le problème ici ?

1. La variable 'nombreArticlesAttendus' a un nom trop long.


2. La comparaison porte sur deux type différents.
3. Il manque un argument pour pouvoir correctement appeler la méthode assertTrue().
4. Le type de retour de la méthode est incohérent.

Solution

Il n'est pas possible en Java de comparer un int et une String sans passer par une
conversion (avec les méthodes Integer.parseInt() ou String.valueOf().

Vous n'avez pas trouvé cette réponse.

Que se passera-t-il si on appelle cette méthode avec 3 en argument ?

1. Rien du tout
2. Une pause de 3 secondes aura lieu.
3. Une pause de 3 millisecondes aura lieu.
4. Une erreur aura lieu.

Solution

Attention aux conversions millisecondes -> secondes.

Vous n'avez pas trouvé cette réponse.

Quel est le problème ici ?

1. La méthode getTitle() n'existe pas.


2. '=' devrait être remplacé par '=='.
3. getTitrePage() devrait avoir un argument.
4. La méthode ne retourne aucune valeur.

Solution

Une correction rapide : return driver.getTitle();

Vous avez trouvé la bonne réponse !

Où est le problème ici ?


1. Dans le constructeur de la classe.
2. Dans la méthode publique.
3. Dans la String privée.
4. Il n'y a pas de problème.

Solution

Le constructeur actuel affecte toujours la String 'codePays' avec la valeur 'FR'.

Vous n'avez pas trouvé cette réponse.

A quel problème s'expose-t-on ici ?

1. A une erreur de type StackOverflowError.


2. A une erreur de type InvalidSelectorException.
3. A une erreur de type ConnectionClosedException.
4. A une erreur de type InvalidArgumentException.

Solution

La première méthode occasionne une boucle infinie !

Vous n'avez pas trouvé cette réponse.

Quel est le problème ici ?

1. '==' devrait être remplacé par '='.


2. '==' devrait être remplacé par '==='.
3. Le nombre d'arguments de la méthode appelée n'est pas respecté.
4. Il manque une parenthèse.

Solution

Actuellement, il n'y a qu'un seul argument, de type booléen. La méthode assertEquals()


doit comparer deux valeurs.

Vous n'avez pas trouvé cette réponse.


Pourquoi ce sélecteur ne fonctionnera pas ? (Connaître notre classe Selecteur n'a
pas d'importance ici.)

1. Parce qu'il est saisi sur une ligne au lieu de deux.


2. Parce que les guillemets simples ne sont pas échappés.
3. Parce que l'id saisi est un xPath.
4. Parce que sa visibilité est 'private'.

Solution

Voir la documentation de l'objet By.

Vous n'avez pas trouvé cette réponse.

Quel est le principal problème ici ?

1. Il manque une parenthèse.


2. La méthode retourne une valeur, mais la déclaration annonce qu'elle ne va rien
retourner.
3. La méthode getNomArticle() devrait avoir un argument ou plus.
4. La méthode n'est appelée nulle part, ce qui signifie qu'elle représente du code mort,
qui ne sera pas maintenu ou bien sera inutilement maintenu.

Solution

Une correction rapide : remplacer 'void' par 'String'.

Vous n'avez pas trouvé cette réponse.

Pourquoi cette erreur s'est produite ?

1. Parce que l'élément n'a pas été trouvé sur la page.


2. Parce que le nom de la classe contenant les méthodes de tests était déjà utilisé
ailleurs.
3. Parce que le sélecteur était de type className et contenait plusieurs classes
séparées par des espaces.
4. Parce que le WebDriver ne s'est pas correctement initialisé.

Solution
Ce fil de discussion propose quelques moyens de contournement.

Vous n'avez pas trouvé cette réponse.

Quel est le problème ici ?

1. Le corps de cette méthode est identique au corps d'une autre méthode.


2. La valeur retournée par la méthode n'est pas du bon type.
3. La méthode n'est pas censée retourner une valeur.
4. Il manque une parenthèse.

Solution

La déclaration de la méthode annonce qu'elle va retourner un 'int', mais elle retourne


une 'String'. La méthode Integer.parseInt() pourrait être utile.

Vous n'avez pas trouvé cette réponse.

Quel est le problème ici ?

1. La méthode devrait retourner une valeur, mais ce n'est pas le cas.


2. La méthode sera en erreur à chaque fois que le login attendu ne sera pas une
chaîne de caractères vide.
3. Le xPath est incorrect.
4. Il va y avoir systématiquement une erreur si plusieurs objets de la page
correspondent à ce même xPath.

Solution

Pour récupérer le contenu d'un input, il faut utiliser non pas la méthode getText() mais
getAttribute('value').

Vous n'avez pas trouvé cette réponse.

Pourquoi n'est-il pas possible de vérifier que le titre du film 300 s'affiche bien sur
la page ?
1. Parce que le type attendu est 'String' et non 'int'.
2. Parce que la valeur saisie est trop courte.
3. Parce que les deux méthodes ont exactement le même nom.
4. Parce qu'il manque un argument pour correctement appeler la méthode
assertEquals().

Solution

Une correction rapide : remplacer 300 par "300".

Vous n'avez pas trouvé cette réponse.

Quel est le problème ici ?

1. La valeur affectée à la variable 'nomArticleConstate' n'est pas une String comme


attendu, mais un WebElement.
2. La valeur affectée à la variable 'nomArticleConstate' n'est pas une String comme
attendu, mais un tableau de String.
3. La valeur affectée à la variable 'nomArticleConstate' n'est pas une String comme
attendu, mais un tableau de WebElement.
4. La même variable est déclarée deux fois.

Solution

Une correction rapide : retirer le deuxième argument de la déclaration de la méthode.

Vous avez trouvé la bonne réponse !

Où est le problème ici ?

1. La méthode ne devrait pas être à la visibilité 'private', mais 'public'.


2. Le type de la valeur retournée est incohérent.
3. Dans le xPath (il faudrait remplacer xPath par cssSelector).
4. Dans le xPath (au niveau de l'attribut).

Solution

Voici un exercice pour vous entraîner à l'écriture d'xPath ! :)

Vous avez trouvé la bonne réponse !


Quel est le problème ici ?

1. La variable nomArticleAttendu est une variable globale, qui ne peut donc pas être
utilisée au sein d'une méthode.
2. La variable nomArticleAttendu devrait être intervertie avec le premier argument.
3. La variable nomArticleAttendu n'a pas été déclarée du tout.
4. La variable nomArticleAttendu n'est pas de type String.

Solution

Besoin d'un récap sur les portées des variables en Java ?

Vous n'avez pas trouvé cette réponse.

Quel est le problème ici ?

1. Il manque un point-virgule.
2. La méthode verifierDonneesArticle() ne fait rien d'autre que d'appeler d'autres
méthodes.
3. La méthode assertEquals() ne peut pas être utilisée pour comparer deux 'int'.
4. Il y a une parenthèse en trop.

Solution

Ce type d'erreur est simple à corriger mais parfois difficile à trouver.

Vous avez trouvé la bonne réponse !

Pourquoi cette méthode est-elle risquée ?

1. Elle n'est pas risquée.


2. Parce que == vérifie moins que ===, et il y a donc des chances que deux chaînes de
caractères différentes soient jugées identiques (exemple : casses différentes).
3. Parce qu'elle peut, dans certains cas, produire une boucle infinie.
4. Parce que == ne compare pas simplement le contenu des String, mais vérifie
que les deux String sont le même objet.
Solution

Voir ce récapitulatif en ligne.

Vous avez trouvé la bonne réponse !

Où est le problème ici ?

1. Dans la première méthode


2. Dans la deuxième méthode
3. Dans la troisième méthode
4. Il n'y a pas de problème

Solution

Il manquait juste un point virgule !

Vous n'avez pas trouvé cette réponse.

Vous aimerez peut-être aussi