<commit_before>#HandsOnSelenium
===============

##Prérequis 


## 
Pour chaque exercice, vous trouverez un ou plusieurs tests qui ne passent pas. Il faudra alors rajouter du code uniquement dans le test pour le faire passer. Vous ne devez pas modifier l'application, sauf indication contraire dans l'énoncé de l'exercice.
Les exercices seront corrigés à l'oral et vous aurez une version d'une solution (comme partout, il peut y en avoir plusieurs),


## Selenium
### Action Basiques 
####Exercice1.java
Aller sur une page, cliquer sur le bouton avec l'id "myId"
Aller sur une page, cliquer sur le bouton dont le commentaire commence par <-- exercice1 --> dans le code html
####Exercice2.java       
Remplir le login avec "Luke" et le mot de passe "Sky<PASSWORD>". Valider le formulaire.
####Exercice3.java       
Ajouter le code pour que la page précédente soit affichée.
####Exercice4.java
Vérifier que le cookie "deathstar" est bien présent.
####Exercice5.java
Lorsque la fenetre d'alerte apparait, cliquez sur "Annuler" pour faire passer le test.
Exercice6.java
Modifier via javascript la valeur du champ avec l'id "help" pour que le test passe.

          
Drivers - Prez 10 min (correction + prez driver) 15 min
Utiliser htmldriver
Utiliser un autre driver (ChromeDriver, FirefoxDriver)     
Ajax - (Correction + prez driver) 5 min + 30 min
              je me rends sur une page, je clique sur next et je verifie que les données ont bien changées
a : en utilisant un timer explicit
b : en utilisant un timer implicit
Avec FluentWait
Sans FluentWait
pendant l’attente, supprimer l’id et le recréer pour avoir l’exception specifique
Page object Pattern - Prez concept : 8 min + 30 min
    - Refactoring de tests existants<commit_msg>Update README with actual tests<commit_after>#HandsOnSelenium
===============

##Prérequis 


## 
Pour chaque exercice, vous trouverez un ou plusieurs tests qui ne passent pas. Il faudra alors rajouter du code uniquement dans le test pour le faire passer. Vous ne devez pas modifier l'application, sauf indication contraire dans l'énoncé de l'exercice.
Les exercices seront corrigés à l'oral et vous aurez une version d'une solution (comme partout, il peut y en avoir plusieurs),


## Selenium
### Action Basiques 
####Exercice0.java
Initialiser le driver, Aller sur la page d'accueil (le test vérifie le titre de la page) et fermer le driver.
####Exercice1.java
Cliquer sur le bouton "about" puis sur le boutton "blog"
####Exercice2.java       
Remplir les informations du formulaire et le valider, vérifier l'affichage de "Thanks".
Vérifier le focus sur les informations manquantes lors d'un renseignement partiel du formulaire.
####Exercice3.java       
Récuperer le cookie "luke".
####Exercice4.java
Accepter puis refuser l'alerte javascript.
####Exercice5.java
Retourner sur la dernière page visitée.
####Exercice6.java
Modifier via javascript le text de "bigButton".

          
Drivers - Prez 10 min (correction + prez driver) 15 min
Utiliser htmldriver
Utiliser un autre driver (ChromeDriver, FirefoxDriver)     
Ajax - (Correction + prez driver) 5 min + 30 min
              je me rends sur une page, je clique sur next et je verifie que les données ont bien changées
a : en utilisant un timer explicit
b : en utilisant un timer implicit
Avec FluentWait
Sans FluentWait
pendant l’attente, supprimer l’id et le recréer pour avoir l’exception specifique
Page object Pattern - Prez concept : 8 min + 30 min
    - Refactoring de tests existants
{'fraction_non_alphanumeric': 0.07112130771436766, 'fraction_numerical': 0.009750501864066534, 'mean_word_length': 4.190476190476191, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '996301', 'n_tokens_mistral': 1111, 'n_tokens_neox': 1076, 'n_words': 482}