Applications¶
Manipulation de fichier et de variable¶
Lecture/Ecriture de fichier¶
Solution to Exercise 1 #
*** Settings ***
Library OperatingSystem
*** Test Cases ***
Créer_Et_Lire_Un_Fichier_Texte
# Déclaration du nom du fichier
${chemin}= Set Variable rapport.txt
${monTexte}= Set Variable Ceci est un rapport de test
# Enregistrement des données dans le fichier
Create File ${chemin} ${monTexte}
# Lecture du contenu du fichier
${contenu}= Get File ${chemin}
# Comparaison
Should Be Equal As Strings ${contenu} ${monTexte}
# Suppression du fichier
Remove File ${chemin}
Gestion du statut PASS/FAIL¶
Solution to Exercise 2 #
*** Settings ***
Library OperatingSystem
*** Test Cases ***
Créer_Et_Lire_Un_Fichier_Texte_Invalide
[Tags] Invalide
[Documentation] Test invalide
${chemin}= Set Variable rapport.txt
${monTexte}= Set Variable Ceci est un rapport de test
Create File ${chemin} ${monTexte}
${contenu}= Get File ${chemin}
# Erreur volontaire : comparaison avec une valeur incorrecte
Should Be Equal As Strings ${contenu} Ceci est un contenu erroné
Remove File ${chemin}
Créer_Et_Lire_Un_Fichier_Texte
[Tags] Valide
[Documentation] Test valide
${chemin}= Set Variable rapport.txt
${monTexte}= Set Variable Ceci est un rapport de test
Create File ${chemin} ${monTexte}
${contenu}= Get File ${chemin}
Should Be Equal As Strings ${contenu} ${monTexte}
Remove File ${chemin}

Test conditionnel¶
Solution to Exercise 3 #
*** Test Cases ***
Test_Saute
[Tags] Skip
[Documentation] Ce test est volontairement ignoré
Skip Ce test est ignoré pour démonstration
Test_Saute_Conditionnel
[Tags] Skip Conditionnel
[Documentation] Ce test est sauté si une condition est remplie
${condition}= Evaluate 5 > 3
Run Keyword If ${condition} Skip Condition remplie : test ignoré
Log Ce message ne s'affichera pas si le test est sauté

Application aux Bases de Données¶
Mise en place des prérequis¶
Vérification de l’existence de la BD¶
*** Settings ***
Library OperatingSystem
*** Test Cases ***
Vérifier Fichier Base De Données
File Should Exist test.dbConnexion à la base de données¶
Objectif: Se connecter à la base de données SQLite test.db à l’aide de la bibliothèque DatabaseLibrary.
Énoncé
Établir une connexion à la base de données
test.dbcVérifier que la connexion fonctionne, puis la fermer proprement.
Mots-clés utiles
Connect To Database: établit la connexion à la baseDisconnect From Database: ferme la connexion
*** Settings ***
Library OperatingSystem
Library DatabaseLibrary
*** Variables ***
${DBNAME} test.db
*** Test Cases ***
Vérifier Fichier Base De Données
File Should Exist test.db
Connexion À SQLite
Connect To Database sqlite3 ${DBNAME}
Disconnect From DatabaseAjout de plusieurs utilisateurs¶
Objectif: Insérer plusieurs utilisateurs dans la table utilisateurs en utilisant une boucle.
Énoncé
Ajouter les utilisateurs suivants dans la base :
Alice,Bob,Charlie,Diana.Utiliser une boucle pour automatiser l’insertion.
Mots-clés utiles
Create List: crée une liste de valeursFOR ... IN ... END: boucle sur chaque élémentExecute Sql String: exécute une requête SQL
*** Settings ***
Library OperatingSystem
Library DatabaseLibrary
*** Variables ***
${DBNAME} test.db
*** Test Cases ***
Vérifier Fichier Base De Données
File Should Exist test.db
Ajout De Plusieurs Utilisateurs
Connect To Database sqlite3 ${DBNAME}
@{noms}= Create List Alice Bob Charlie Diana
FOR ${nom} IN @{noms}
Execute Sql String INSERT INTO users (nom) VALUES ('${nom}')
END
Disconnect From DatabaseInterrogation et test conditionnel¶
Objectif :Lire les données de la table et vérifier que certains noms sont bien présents.
Énoncé
Interroger la table utilisateurs pour récupérer tous les noms. Vérifier que Alice et Charlie sont bien présents dans les résultats. Utiliser une boucle et une condition pour effectuer cette vérification.
Mots-clés utiles
Query: exécute une requête SQL et retourne les résultatsRun Keyword If: exécute une action conditionnelleShould Be True: vérifie qu’une condition est vraie
*** Settings ***
Library OperatingSystem
Library DatabaseLibrary
*** Variables ***
${DBNAME} test.db
*** Test Cases ***
Vérification Des Utilisateurs
Connect To Database sqlite ${DBNAME}
${result}= Query SELECT nom FROM utilisateurs
${noms_attendus}= Create List Alice Charlie
FOR ${nom_attendu} IN @{noms_attendus}
${trouvé}= Set Variable False
FOR ${row} IN @{result}
${nom}= Set Variable ${row[0]}
Run Keyword If '${nom}' == '${nom_attendu}' Set Variable ${trouvé} True
END
Should Be True ${trouvé} msg=Le nom ${nom_attendu} n’a pas été trouvé dans la base.
END
Disconnect From DatabaseApplication aux Sites Web¶
Automatisation des interactions avec les applications web.
Utilisation de bibliothèques spécifiques pour interagir avec les éléments de la page web.
Ouverture de la page de login¶
Objectif : Automatiser une tentative de connexion avec des identifiants invalides et vérifier l’affichage du message d’erreur
Énoncé
Accéder à la page de login.
Saisir un nom d’utilisateur et un mot de passe incorrects.
Cliquer sur le bouton de connexion.
Vérifier que le message “Your username is invalid!” est bien affiché.
Utiliser une condition pour valider la présence du message.
Mots-clés utiles
New Page: ouvre une nouvelle page webFill Text: remplit un champ texteClick: clique sur un élémentGet Text: récupère le texte d’un élémentShould Contain: vérifie qu’un texte contient une sous-chaîne
*** Settings ***
Library Browser
*** Variables ***
${URL} https://the-internet.herokuapp.com/login
*** Test Cases ***
Ouverture de la page de login
New Browser chromium
New Page ${URL}
Get Text input[name="username"]
Get Text input[name="password"]
Get Text button[type="submit"]
Close Browser
Connexion invalide
New Browser chromium
New Page ${URL}
Fill Text input[name="username"] fauxuser
Fill Text input[name="password"] fauxpass
Click button[type="submit"]
Get Text .flash == Your username is invalid!
Close Browser
Connexion valide
New Browser chromium
New Page ${URL}
Fill Text input[name="username"] tomsmith
Fill Text input[name="password"] SuperSecretPassword!
Click button[type="submit"]
Wait For URL */secure
Get Text .flash == You logged into a secure area!
Close Browser