Vous êtes sur la page 1sur 20

2019

EXAMEN N°1
SELENIUM WEBDRIVER
ASTUCE
Question 1 :

C’est quoi un outil d'enregistrement/rejeu ?

A. Un langage de requête pour la sélection de nœuds à partir d'un document XML.


B. Un phénomène où la répétition d'un même test plusieurs fois le conduit à trouver
moins de défauts.
C. Un outil ou une boîte de dialogue qui oblige l'utilisateur à interagir avec lui avant de
pouvoir accéder à l'écran sous-jacent.
D. Un type d'outil d'exécution de tests où les entrées sont enregistrées pendant les tests
manuels, afin de générer des scripts automatisés qui peuvent être exécutés
ultérieurement (rejoués).

Question 2 :

Quel est la meilleure définition d’un oracle de test ?

A. Une méthode d’estimation de test


B. Une source de détermination du résultat attendu du test.
C. Une base de données pour les données de test
D. La personne qui détermine les critères de sortie de test.

Question 3 :

Quelles deux réponses parmi ce qui suit sont des avantages de l’automatisation de test ?

A. Effectuer certains tests qui ne peuvent pas être effectués du tout (ou facilement) manuellement
B. Les faux positifs peuvent être collectés et monitorés
C. Permet aux testeurs de se concentrer sur la technologie plutôt que sur le risque
D. Réduire les erreurs des testeurs ennuyés ou distraits
E. Il est plus facile d’ajouter une dette technique lors de l’automatisation
Question 4 :

Quelle est la valeur d'ajouter une intelligence supplémentaire via la


programmation à un script automatisé ?

A. Une programmation intelligente peut ajouter du contexte et de la raisonnabilité au test,


imitant les pensées d’un testeur manuel.
B. En ajoutant une programmation intelligente, le programmeur réduit toujours la dette
technique dans le projet d'automatisation.
C. Parce qu'un script automatisé nécessite plus d'analyses et plus de conception, les
coûts de maintenance sont inférieurs à ceux d'un test manuel.
D. Il n’ya aucun besoin réel d’ajouter de la programmation à un script ; les outils
fonctionnent parfaitement bien sans elle.

Question 5 :

Lequel des éléments suivants N'EST PAS un niveau d'interface que nous pouvons automatiser
pour un SUT donné ?

A. Le niveau GUI
B. Le niveau service
C. Le niveau protocol
D. Le niveau definition

Question 6:

Parmi les avantages suivants, lequel est un avantage potentiel pouvant être obtenu
en utilisant Selenium WebDriver ?

A. Introduire un délai dans le processus d'intégration continue


B. Création d'un ensemble de tests de régression automatisés
C. Augmenter l'efficacité de détection des défauts des tests
D. Produire un retour sur investissement immédiat et positif
Question 7 :

Dans quelle partie de la couche d'adaptation de test sélénium s'insère-t-il?

A. API
B. Services
C. GUI
D. Aucun ; sélénium s'inscrit dans la couche de définition de test.

Question 8 :

Considérez les métriques suivantes qui pourraient être utiles, données dans le programme :

i. Coûts fixes pour établir l'automatisation


ii. Effort de test de régression enregistré par l'automatisation
iii. Effort déployé pour l'automatisation
iv. Couverture des relevés et des décisions
v. Couverture d'interface ou de flux de données
vi. Couverture des fonctionnalités
vii. Couverture de navigateur prise en charge

Laquelle de ces mesures serait utile pour un projet d’automatisation Selenium ?

A. i, ii, iii, vi, and vii


B. i, ii, and iii
C. vi and vii
D. i, ii, iii, iv, v, vi, and vii

Question 9 :

Lequel des outils Selenium suivants peut exécuter des tests sur plusieurs machines ?

A. Selenium IDE
B. Selenium WebDriver
C. Selenium Grid
D. Selenium Standalone Server
Question 10 :

Qu'est-ce que XPath ?

A. Un langage à base de balises qui définit un ensemble de règles pour coder des documents dans
un format lisible à la fois par l'homme et par la machine.
B. Un attribut HTML qui pointe vers une classe dans une feuille de style CSS.
C. Un langage de requête pour la sélection de nœuds à partir d'un document XML.
D. Un cadre HTML en ligne, utilisé pour intégrer un autre document dans un document HTML

Question 11:

C’est quoi un tag en HTML ?

A. Un attribut d’une page HTML contenant les données de l’auteur de la page


B. Un problème d’échange de requêtes entre un serveur et un client
C. Des éléments du code HTML d’une page web sur Internet. Elles sont une partie intégrante de la
composition de la page puisqu’elles permettent de mettre en forme et de structurer les contenus.
D. Un modèle de conception spécifique de pages Web
Question 12 :

Étant donné le code suivant, laquelle des options représente le mieux la page Web résultante ?

<html>
<body>
<h1>
Header Name
</h1>
<p>
paragraph text
</p>
<br/>
<!-- Here's the list:-->
<ul>
<li>first</li>
<li>second</li>
<li>third</li>
</ul>
</body>
</html>

A. Header Name
paragraph text
• first
• second
• third

B. Header Name
paragraph text
1. first
2. second
3. third

C. Header Name
paragraph text
• first
• second
• third

D. Header Name
paragraph text
Here's the list:
1. first
2. second
3. third
Question 13 :

Considérez le document XML suivant :

<?xml version="1.0" encoding="UTF-8"?>


<weather>
<temperature UoM="F" city="New York">80</temperature>
<temperature UoM="F" city="Chicago">53</temperature>
<temperature UoM="C" city="Warsaw">30</temperature>
<temperature UoM="C" city="Berlin">24</temperature>
</weather>

Laquelle des expressions XPath suivantes trouvera la valeur de l’attribut UoM


pour la température à New York ?

A. //temperature[@city=“New York”]/text()
B. //temperature[@city=”New York”]/@UoM
C. //temperature[@city=”New York”]/@UoM/text()
D. @UoM[//temperature[@city=”New York”]]
Question 14 :

Considérez le document HTML suivant :

<html>
<head/>
<body>
<form class="odd first">
User: <input type="edit" class="user" name="user" />
<br/>
Password: <input type="edit" class="password" name="password" />
<br/>
<button type="submit" name="login" class="big button">Log in</button>&nbsp;
<button type="submit" name="cancel" class="big button">Cancel</button>
</form>
</body>
</html>

Quel (s) élément (s) HTML seront trouvés avec le sélecteur CSS suivant ?

.first > .big + .button

A. Le bouton “Log in”


B. Les boutons “Log in” et “Cancel”
C. Le bouton “Cancel”
D. Ce sélecteur CSS ne trouvera aucun élément dans ce document

Question 15 :

Laquelle des balises suivantes ouvre une nouvelle section ?

A. <head>
B. <p>
C. <br/>
D. <div>
Question 16 :

Laquelle des affirmations suivantes décrit mieux l’utilité de XPath dans


l’automatisation de Selenium ?

A. Localiser des objets sur une page Web


B. Créer des expressions XPath
C. Décrire l'apparence de HTML sur un écran
D. Décrire un format d'arbre

Question 17 :

Lequel des éléments suivants N'EST PAS une forme d'utiliser CSS dans un document HTML ?

A. Une feuille de style externe


B. Une feuille de style interne
C. Un style en ligne
D. Un style dynamique

Question 18 :

Qu'est-ce qu'une fonction wrapper ?

A. Une fonction dans une bibliothèque de logiciels dont le but principal est d'appeler une autre
fonction.
B. Une fonction fournissant une interface contre laquelle les tests Selenium sont écrits
C. Une fonction fournissant un environnement permettant l'exécution de scripts de test
automatisés, y compris des outils.
D. Une fonction dans une bibliothèque de logiciels dont le but principal est une interface de
programmation pour les documents HTML permettant aux programmes externes
d’interagir avec la page du navigateur.
Question 19 :

Lequel des choix ci-dessous n’est pas une boîte de dialogue de type alert ?

A. Alert
B. Iframe
C. Prompt
D. Confirm
Question 20 :

Que sera le résultat de l'exécution du morceau de code suivant à partir du fichier "question.py" ?

import logging as log


log.basicConfig(level=log.INFO)
test_data = "Hello world"
log.info("Line 3")
log.debug("Line 4")
log.warning("Line 5")
log.error("Line 6")
assert test_data == "Hello world", “Wrong test data”
log.info("Line 7")

A. INFO:root:Line 3
WARNING:root:Line 5
ERROR:root:Line 6
INFO:root:Line 7

B. INFO:root:Line 3
WARNING:root:Line 5
ERROR:root:Line 6
Traceback (most recent call last):
File "question.py", line 8, in <module>
assert test_data == "Hello world", "Wrong test data"
AssertionError: Wrong test data
INFO:root:Line 7

C. INFO:root:Line 7
ERROR:root:Line 6
WARNING:root:Line 5
INFO:root:Line 3

D. INFO:root:Line 3
WARNING:root:Line 5
ERROR:root:Line 6
Traceback (most recent call last):
File "question.py", line 8, in <module>
assert test_data == "Hello world", "Wrong test data"
AssertionError: Wrong test data
Question 21 :

Étant donné le code suivant :

dr1 = webdriver.Chrome()
dr2 = webdriver.Firefox()
dr1.get(‘https://python.org’)
python_title = dr1.title
dr2.get(python_title)
dr2.get(‘https://perl.org’)

Que sera le résultat de son exécution (supposons que l'environnement de test soit
configuré correctement et que tous les pilotes soient présents) ? Choisissez deux :

A. Firefox montrera https://python.org page


B. Chrome montrera https://python.org page
C. Firefox montrera https://perl.org page
D. Le script va lancer une exception
E. Le résultat de ce script ne peut pas être déterminé

Question 22 :

Étant donné un frame avec un identifiant "frameID", quelle est la / les meilleure (s)
ligne (s) de code pour changer le contexte du script de test afin de revenir du frame à
la page dans laquelle se trouve le frame ?

A. get('frameID').calling_page
B. element = driver.find_element_by_id('frameID')
element.back()
C. fr = driver.find_element_by_id('frameID')
driver.switch_to.frame(fr)
D. driver.switch_to.default_content()
Question 23 :

Soit l'extrait suivant d'une page Web :

<a href=”https://python.org” id=”python”><img src=”python.png” /></a>

Laquelle des réponses suivantes contient le code Python approprié pour prendre une
capture d'écran de l'image python.png ?

Supposons que le driver de variable contienne la référence à l'objet WebDriver pour le navigateur Web
affichant la page à partir de laquelle l'extrait a été pris.

A. driver.find_element_by_id(“python.png”).screenshot(“my_new_pic.png”)
B. driver.find_element_by_id(“python”).screenshot(“my_new_pic.png”)
C. element = driver.find_element_by_id(“python”)
element.take_screenshot(“my_new_pic.png”)
D. element = driver.find_element_by_xpath(“a[@id=’python’]/img”)
element.take_screenshot(“my_new_pic.png”)

Question 24 :

Soit la case à cocher avec un ID = "case à cocher1", quelle (s) ligne (s) de code
obtiendra la valeur booléenne pour l'état sélectionné de la case à cocher ?

A. element = driver.find_element_by_id('checkbox1')
cb_state = element.is_selected()
B. element_state = element('checkbox1').is_selected
C. element = driver.find_element_by_id('checkbox1')
element_state = element.boolean
D. element = driver.find_element_by_state(id = 'checkbox1')
Question 25 :

Étant donné un menu déroulant avec un ID = "dropdown1" et une option déroulante


dans le menu déroulant avec un nom de classe = "option3", Quelles lignes de code
sélectionnent l'option déroulante 3 ?

A. element = driver.find_element_by_class_name('dropdown1.option3')
element.click()
B. dropdown = driver.find_element_by_id('dropdown1')
element = dropdown.find_element_by_class_name('option3')
element.click()
C. dropdown = driver.find_element_by_id(dropdown1)
element = dropdown.find_element_by_class(option3)
element.click
D. dropdown = driver.find_element_by_class_name(option3)
dropdown.click()

Question 26:

Quelle (s) ligne (s) de code vous permettra d'obtenir le texte d'une alerte ?

A. alert = driver.switch_to.alert
driver.find_element_by_text('text') in alert
B. alert = driver.switch_to.alert
assert 'alert_text' in alert
C. alert = driver.find_element_by_text('text').alert
D. alert = driver.switch_to.alert
alert_text = alert.text
Question 27 :

Pour plus d’efficacité, vous voulez créer des fonctions génériques pour

localiser des WebElements.

Quelle est la meilleure approche pour une telle fonction générique ?

A. Utiliser les IDs


B. Utiliser les class names
C. Utiliser XPath
D. Utiliser link text

Question 28 :

Laquelle des phrases suivantes sur le logging et la création de rapports dans l'automatisation de
test est correcte ?

A. Le logging est utilisée pour afficher les résultats du test (réussite / échec) et la
génération de rapports pour afficher la trace d'une exécution de test automatisée.
B. Le logging est utilisée pour afficher les erreurs dans l'exécution d'un test automatisé
uniquement, et la génération de rapports pour afficher les données de test.
C. Le logging est utilisée pour afficher la trace d'une exécution de test automatisée, et le
rapport pour afficher les résultats du test (réussite / échec).
D. Le logging n'est pas nécessaire pour l'exécution automatique d'un test, car les scripts
de test contiennent des étapes de test et la création de rapports permet d'afficher les
résultats du test (réussite / échec).

Question 29 :

En supposant que plusieurs onglets soient ouverts dans un navigateur Chrome dont
l'objet WebDriver porte un identifiant de «pilote», comment fermer tout le navigateur et
tous ses onglets en même temps??

A. driver.close(“ALL”)
B. driver.quit()
C. driver.close()
D. driver.quit(‘ALL’)
Question 30 :

Après avoir utilisé un frame dans une page Web, l’une des méthodes suivantes constitue la
MEILLEURE approche pour modifier le contexte et le ramener à la page entière ?

A. Utiliser la methode switch_to.default content


B. Executer le code JavaScript frame.back
C. Créer un objet WebDriver pour la page et utiliser la methode getpage()
D. utiliser handles pour les frames ouvertes et switcher a la frame voulu avec cette handle

Question 31 :

Quelle méthode d'objet webdriver prend une capture d'écran de tout l'écran et l'écrit
dans un fichier ?

A. get_screenshot_as_file(<filename>)
B. screenshot(<filename>)
C. get_screenshot_as_file(<filename>, <filetype>)
D. il n'y a pas une telle méthode, on devrait utiliser la méthode screenshot et
après conserver cette image dans un fichier séparément .

Question 32 :

Quel est le principal avantage de la localisation d'éléments de page Web par leur ID ?

A. Parce que la méthode de recherche d'éléments par id porte le nom le plus court
B. Parce que si une page Web contient du XML valide, cet attribut est unique, ainsi l'élément est
trouvé sans ambiguïté.
C. Parce que toutes les balises HTML ont cet attribute
D. Parce que cet attribut peut être utilisé dans toutes les stratégies de localisation
Question 33 :

Vous souhaitez obtenir des informations sur un WebElement particulier.


Vous vous assurez que l'élément existe, puis appelez la méthode

ret_value = target_element.get_attribute('text')

Dans quelles conditions pouvez-vous obtenir la valeur de

retour None ?

Choisissez la réponse la plus correcte.

A. Le WebElement n'a pas l'attribut "text"


B. Le WebElement n'a pas la propriété "text"
C. Le WebElement n'est pas visible.
D. Le WebElement n'a ni attribut ni propriété "text"

Question 34 :

Dans l'application Web que vous testez, vous devez taper du texte dans une zone de texte.

Quelle est la meilleure approche pour saisir du texte dans une zone de texte à l'aide de WebDriver ?

A. Utilisez la classe switch_to pour passer à l'élément textbox, puis tapez le texte.
B. Utilisez la méthode cleartext (), puis utilisez la méthode send_keys (string_to_type) pour entrer le
texte.
C. Cliquez sur la zone de texte puis appelez la zone de texte ("<texte à saisir">).
D. Utilisez la méthode text (string_to_type) pour saisir le texte.

Question 35 :

Quels DEUX des méthodes suivantes ferment une alerte affichée par le navigateur Web ?

A. close()
B. dismiss()
C. escape()
D. accept()
E. quit()
Question 36 :

Laquelle des définitions suivantes est une bonne définition pour une Page Object Pattern?

A. Une approche d'automatisation des tests qui nécessite que la logique technique et
la logique métier soient traitées à différents niveaux.
B. Une fonction dans une bibliothèque de logiciels dont le but principal est d'appeler une
autre fonction souvent en ajoutant ou en améliorant des fonctionnalités
C. Une interface de programmation d'application qui traite un document HTML ou XML comme une
arborescence dans laquelle chaque nœud est un objet représentant une partie du document.
D. Une API dans le SUT qui est créée principalement pour fournir une testabilité améliorée

Question 37 :

Dans l'application Web que vous testez, vous obtenez l'état de plusieurs cases à cocher.

Laquelle des solutions suivantes est la meilleure approche pour rendre vos scripts de test
maintenables ?

A. Attribuer des identifiants pour chaque case à cocher et chaque état


B. Créer des noms de balises uniques pour les éléments
C. Créer une fonction pour obtenir l'état d'une case à cocher
D. Attribuer des mots-clés pour chaque case à cocher
Question 38 :

Dans l'application Web que vous testez, une boîte de dialogue modale doit être fermée lorsque vous cliquez
sur le bouton d'annulation. Étant donné le code suivant :

from selenium.webdriver.support import expected_conditions as EC


from selenium.webdriver.common.by import By
from selenium.common.exceptions import TimeoutException
def verify_dialog_dismissed(driver, element_id):
try:
element = wait(driver,5).until\
(EC.[convenience method]((By.ID, element_id)))
except TimeoutException:
element = None
return element

Laquelle des méthodes de confort d’attente suivantes est la PLUS appropriée pour remplacer
[convenience method] ci-dessus pour savoir que la boîte de dialogue a été fermée?

A. title_is
B. element_to_be_clickable
C. invisibility_of_element_located
D. presence_of_element_located
Question 39 :

Considérez l'extrait HTML suivant contenant un formulaire de connexion:

<form>
User: <input type="edit" id="user" name="user" />
<br/>
Password: <input type="edit" id="password" name="password" />
<br/>
<button type="submit" name="login">Log in</button>&nbsp;
<button type="submit" name="cancel" >Cancel</button>
</form>

Laquelle des fonctions suivantes est la meilleure implémentation d’une méthode


d’une classe page objets pour ce formulaire :

A. def cancel_login():
drv.find_element_by_id("user").send_keys("admin")
drv.find_element_by_name("cancel").click()
B. def login():
drv.find_element_by_name("cancel").click()
C. def remind_password():
drv.find_element_by_link("remind").click()
D. def cancel_login():
drv.find_element_by_name("cancel").click()

Question 40 :

Considérez l'étape de test suivante :

Effectuez un virement du compte client au compte fournisseur en tant que


paiement pour les biens achetés.

Lequel des ensembles de données suivants sera le meilleur ensemble de paramètres pour un
mot clé implémentant cette étape de test ?

A. Nom du client, nom du fournisseur, montant à payer, devise


B. Compte client, compte fournisseur, date de paiement
C. Compte client, compte fournisseur, montant à payer, devise
D. Compte client, nom du client, montant à payer, devise

Vous aimerez peut-être aussi