forked from aurelien.plancke/ScodocTestClient
initial commit
This commit is contained in:
commit
70f153e825
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
settings.json
|
219
UserStory.xml
Normal file
219
UserStory.xml
Normal file
@ -0,0 +1,219 @@
|
||||
<Tests>
|
||||
<Test>
|
||||
<intitulé>Connexion en admin</intitulé>
|
||||
<page>scodoc_admin</page>
|
||||
<operation>
|
||||
Acceder à la page https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/scodoc_admin avec les identifiants admin;
|
||||
</operation>
|
||||
<resultat>
|
||||
Connexion établie (h3 = page Administration de scodoc)
|
||||
</resultat>
|
||||
<role>Admin Scodoc</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Création d'un département</intitulé>
|
||||
<page>scodoc_admin</page>
|
||||
<operation>
|
||||
Accès à la page https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/scodoc_admin,
|
||||
séléctionner un département dans création département,
|
||||
clicker sur créer département,
|
||||
valider sur la page suivante
|
||||
</operation>
|
||||
<resultat>
|
||||
Apparition du lien du département sur la page d'accueil
|
||||
</resultat>
|
||||
<role>Admin Scodoc</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Création d'une formation</intitulé>
|
||||
<page>Scolarite/Notes</page>
|
||||
<operation>
|
||||
https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/[nom_formation]/Scolarite/Notes/formation_create,
|
||||
remplissage des champs:
|
||||
tf_acronyme (DUT Test),
|
||||
tf_titre (Diplome universitaire et technologique de test),
|
||||
tf_titre_officiel (Diplome universitaire et technologique de test),
|
||||
tf_formation_code (123456)
|
||||
Soumettre le formulaire;
|
||||
</operation>
|
||||
<resultat>
|
||||
la page sur laquelle on est dirigée contient une class formation_descr
|
||||
</resultat>
|
||||
<role>AdminDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Ajout d'une UE à la formation créée</intitulé>
|
||||
<page>Scolarite/Notes</page>
|
||||
<operation>
|
||||
https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/AurelienUS/Scolarite/Notes/ue_create?formation_id=FORM130
|
||||
remplissage des champs:
|
||||
tf_titre "Informatique"
|
||||
tf_acronyme "Info"
|
||||
tf_numero "1"
|
||||
tf_ects "10"
|
||||
tf_coefficient "10"
|
||||
Soumettre le formulaire;
|
||||
</operation>
|
||||
<resultat>
|
||||
La page sur laquelle on est dirigée contient "Info Informatique"
|
||||
</resultat>
|
||||
<role>AdminDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Ajout d'une matière à l'UE créée</intitulé>
|
||||
<page>Scolarite/Notes</page>
|
||||
<operation>
|
||||
Soumettre le formulaire d'ajout de matière
|
||||
</operation>
|
||||
<resultat>
|
||||
La page sur laquelle on est dirigée contient la classe notes_matiere_list et un de ses enfants contient Systeme </resultat>
|
||||
<role>AdminDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Ajouter une session</intitulé>
|
||||
<page>Scolarite/Notes</page>
|
||||
<operation>
|
||||
Verifier que la list de formation est présente
|
||||
Se rendre sur la page correspondante "Mise en place d'un semestre de formation" à la formation
|
||||
Vérifier que grtcontent > h2 existe et qu'il contient "Mise en place d'un semestre de formation""
|
||||
Soumettre le formulaire après l'avoir rempli
|
||||
</operation>
|
||||
<resultat>
|
||||
La page sur laquelle on est dirigée contient une classe head_message avec nouveau semestre créé
|
||||
</resultat>
|
||||
<role>AdminDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Creer un étudiant</intitulé>
|
||||
<page>Scolarite</page>
|
||||
<operation>
|
||||
https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/AurelienUS/Scolarite/etudident_create_form
|
||||
Remplir les champs et soumettre le formulaire;
|
||||
</operation>
|
||||
<resultat>
|
||||
La page contient ficheEtud avec un h2 contenant M. Normal UnEtudiant
|
||||
</resultat>
|
||||
<role>AdminDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Creer une absence</intitulé>
|
||||
<page>Scolarite/Absences</page>
|
||||
<operation>
|
||||
Affecter une absence à un étudiant
|
||||
</operation>
|
||||
<resultat>
|
||||
La page absence de cet étudiant contient l'absence créée
|
||||
</resultat>
|
||||
<role>SecraitaireDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Justifier une absence</intitulé>
|
||||
<page>Scolarite/Absences</page>
|
||||
<operation>
|
||||
Justifier une absence et la confirmer
|
||||
</operation>
|
||||
<resultat>
|
||||
Ses absences apparaissent comme justifiée sur la page des absences de cet étudiant
|
||||
</resultat>
|
||||
<role>SecretaireDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Générer les absences pour une journée</intitulé>
|
||||
<page>Scolarite/Notes/Absences/EtatAbsences</page>
|
||||
<operation>
|
||||
Généner le récapitulatif des absences
|
||||
</operation>
|
||||
<resultat>
|
||||
La page générée contient les absences préalablement créée
|
||||
</resultat>
|
||||
<role>SecretaireDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Export XML de la formation</intitulé>
|
||||
<page>Scolarite/Notes</page>
|
||||
<operation>
|
||||
Génération de l'export XML, vérifier s'il contient les informations de la formations
|
||||
</operation>
|
||||
<resultat>
|
||||
Le xml généré contient les informations demandées
|
||||
</resultat>
|
||||
<role>AdminDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Export JSON de la formation</intitulé>
|
||||
<page>Scolarite/Notes</page>
|
||||
<operation>
|
||||
Génération de l'export JSON, vérifier s'il contient les informations de la formations
|
||||
</operation>
|
||||
<resultat>
|
||||
Le JSON généré contient les informations demandées
|
||||
</resultat>
|
||||
<role>AdminDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Verifier la génération du récapitulatif</intitulé>
|
||||
<page>Scolarite/Notes/ue_list</page>
|
||||
<operation>
|
||||
Se rendre sur la page table récapitulative de la formation
|
||||
</operation>
|
||||
<resultat>
|
||||
La page contient toutes les UE et matière précédemment créées
|
||||
</resultat>
|
||||
<role>AdminDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé>Changer les données d'un étudiant</intitulé>
|
||||
<page>Scolarité</page>
|
||||
<operation>
|
||||
Changer les données/Identitée
|
||||
</operation>
|
||||
<resultat>
|
||||
La fiche étudiante est mise à jour avec les nouvelles informations
|
||||
</resultat>
|
||||
<role>SecretaireDPT</role>
|
||||
<createur>Aurélien</createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé></intitulé>
|
||||
<page></page>
|
||||
<operation>
|
||||
</operation>
|
||||
<resultat>
|
||||
</resultat>
|
||||
<role></role>
|
||||
<createur></createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé></intitulé>
|
||||
<page></page>
|
||||
<operation>
|
||||
</operation>
|
||||
<resultat>
|
||||
</resultat>
|
||||
<role></role>
|
||||
<createur></createur>
|
||||
</Test>
|
||||
<Test>
|
||||
<intitulé></intitulé>
|
||||
<page></page>
|
||||
<operation>
|
||||
</operation>
|
||||
<resultat>
|
||||
</resultat>
|
||||
<role></role>
|
||||
<createur></createur>
|
||||
</Test>
|
||||
</Tests>
|
188
UserStory.yaml
Normal file
188
UserStory.yaml
Normal file
@ -0,0 +1,188 @@
|
||||
test1:
|
||||
intitulé: "Connexion en admin"
|
||||
page: scodoc_admin
|
||||
operation: Acceder à la page https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/scodoc_admin avec les identifiants admin;
|
||||
resultat: Connexion établie (h3 = page Administration de scodoc)
|
||||
roleAdmin: Scodoc
|
||||
createur: Aurélien
|
||||
test2:
|
||||
intitulé: Création d'un département
|
||||
page: scodoc_admin
|
||||
operation:
|
||||
Accès à la page https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/scodoc_admin,
|
||||
séléctionner un département dans création département,
|
||||
clicker sur créer département,
|
||||
valider sur la page suivante
|
||||
resultat: Apparition du lien du département sur la page d'accueil
|
||||
role: Admin Scodoc
|
||||
createur: Aurélien
|
||||
test3:
|
||||
intitulé: Création d'une formation
|
||||
page: Scolarite/Notes
|
||||
operation:
|
||||
https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/[nom_formation]/Scolarite/Notes/formation_create,
|
||||
remplissage des champs
|
||||
tf_acronyme (DUT Test),
|
||||
tf_titre (Diplome universitaire et technologique de test),
|
||||
tf_titre_officiel (Diplome universitaire et technologique de test),
|
||||
tf_formation_code (123456)
|
||||
Soumettre le formulaire;
|
||||
resultat: la page sur laquelle on est dirigée contient une class formation_descr
|
||||
role: AdminDPT
|
||||
createur: Aurélien
|
||||
test4:
|
||||
intitulé: Ajout d'une UE à la formation créée
|
||||
page: Scolarite/Notes
|
||||
operation:
|
||||
https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/AurelienUS/Scolarite/Notes/ue_create?formation_id=FORM130
|
||||
remplissage des champs
|
||||
tf_titre "Informatique"
|
||||
tf_acronyme "Info"
|
||||
tf_numero "1"
|
||||
tf_ects "10"
|
||||
tf_coefficient "10"
|
||||
Soumettre le formulaire;
|
||||
resultat: La page sur laquelle on est dirigée contient "Info Informatique"
|
||||
role: AdminDPT
|
||||
createur: Aurélien
|
||||
test5:
|
||||
intitulé: Ajout d'une matière à l'UE créée
|
||||
page: Scolarite/Notes
|
||||
operation: Soumettre le formulaire d'ajout de matière
|
||||
resultat: La page sur laquelle on est dirigée contient la classe notes_matiere_list et un de ses enfants contient Systeme
|
||||
role: AdminDPT
|
||||
createur: Aurélien
|
||||
test6:
|
||||
intitulé: Ajouter une session
|
||||
page: Scolarite/Notes
|
||||
operation:
|
||||
Verifier que la list de formation est présente
|
||||
Se rendre sur la page correspondante "Mise en place d'un semestre de formation" à la formation
|
||||
Vérifier que grtcontent h2 existe et qu'il contient "Mise en place d'un semestre de formation""
|
||||
Soumettre le formulaire après l'avoir rempli
|
||||
resultat: La page sur laquelle on est dirigée contient une classe head_message avec nouveau semestre créé
|
||||
role: AdminDPT
|
||||
createur: Aurélien
|
||||
test7:
|
||||
intitulé: Creer un étudiant
|
||||
page: Scolarite
|
||||
operation:
|
||||
https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/AurelienUS/Scolarite/etudident_create_form
|
||||
Remplir les champs et soumettre le formulaire
|
||||
resultat: La page contient ficheEtud avec un h2 contenant M. Normal UnEtudiant
|
||||
role: AdminDPT
|
||||
createur: Aurélien
|
||||
test8:
|
||||
intitulé: Creer une absence
|
||||
page: Scolarite/Absences
|
||||
operation: Affecter une absence à un étudiant
|
||||
resultat: La page absence de cet étudiant contient l'absence créée
|
||||
role: SecretaireDPT
|
||||
createur: Aurélien
|
||||
test9:
|
||||
intitulé: Justifier une absence
|
||||
page: Scolarite/Absences
|
||||
operation: Justifier une absence et la confirmer
|
||||
resultat: Ses absences apparaissent comme justifiée sur la page des absences de cet étudiant
|
||||
role: SecretaireDPT
|
||||
createur: Aurélien
|
||||
test10:
|
||||
intitulé: Générer les absences pour une journée
|
||||
page: Scolarite/Notes/Absences/EtatAbsences
|
||||
operation: Généner le récapitulatif des absences
|
||||
resultat: La page générée contient les absences préalablement créée
|
||||
role: SecretaireDPT
|
||||
createur: Aurélien
|
||||
test11:
|
||||
intitulé: Export XML de la formation
|
||||
page: Scolarite/Notes
|
||||
operation: Génération de l'export XML, vérifier s'il contient les informations de la formations
|
||||
resultat: Le xml généré contient les informations demandées
|
||||
role: AdminDPT
|
||||
createur: Aurélien
|
||||
test12:
|
||||
intitulé: Export JSON de la formation
|
||||
page: Scolarite/Notes
|
||||
operation: Génération de l'export JSON, vérifier s'il contient les informations de la formations
|
||||
resultat: Le JSON généré contient les informations demandées
|
||||
role: AdminDPT
|
||||
createur: Aurélien
|
||||
test13:
|
||||
intitulé: Verifier la génération du récapitulatif
|
||||
page: Scolarite/Notes/ue_list
|
||||
operation: Se rendre sur la page table récapitulative de la formation
|
||||
resultat: La page contient toutes les UE et matière précédemment créées
|
||||
role: AdminDPT
|
||||
createur: Aurélien
|
||||
test14:
|
||||
intitulé: Changer les données d'un étudiant
|
||||
page: Scolarité
|
||||
operation: Changer les données/Identitée
|
||||
resultat: La fiche étudiant est mise à jour avec les nouvelles informations
|
||||
role: SecretaireDPT
|
||||
createur: Aurélien
|
||||
test15:
|
||||
intitulé: Inscrire un étudiant
|
||||
page: Scolarite
|
||||
operation: Rechercher l'étudiant et l'inscrire au semestre courant
|
||||
resultat: La pageEtu de l'étudiant contient maintenant le semstre courant
|
||||
role: SecretaireDPT
|
||||
createur: Aurélien
|
||||
test16:
|
||||
intitulé: Décision recommandé de validation de semestre pour un etudiant assidu
|
||||
page: Scolarite/Notes
|
||||
operation: Selectionner la validation de semestre dans les opérations scolarité, séléctionner étudiant assidu et valider
|
||||
resultat: L'état ATT apparait sur la fiche de l'étudiant concerné
|
||||
role: SecretaireDPT
|
||||
createur: Aurélien
|
||||
test17:
|
||||
intitulé: Décision recommandé de validation de semestre pour un etudiant non assidu
|
||||
page: Scolarite/Notes
|
||||
operation: Selectionner la validation de semestre dans les opérations scolarité, séléctionner problème d'assiduité et valider
|
||||
resultat: L'état ATT apparait sur la fiche de l'étudiant concerné et la mention (non ass.) apparait sur la page de parcours de l'étudiant
|
||||
role: SecretaireDPT
|
||||
createur: Aurélien
|
||||
test18:
|
||||
intitulé: Effectuer la démission d'un étudiant
|
||||
page: Scolarite/ficheEtud
|
||||
operation: Selectionner la demission dans les opérations scolarité, entrer une date et confirmer
|
||||
resultat: La mention "Démission le xx" apparait sur la fiche de l'étudiant concerné
|
||||
role: SecretaireDPT
|
||||
createur: Aurélien
|
||||
test19:
|
||||
intitulé: Affecter des absences à un étudiant depuis la gestion des absences
|
||||
page: Scolarite/Absences
|
||||
operation: Selectionner la semaine concernée et cocher les cases correspondantes pour un étudiant
|
||||
resultat: Le compteur d'absence de l'étudiant à été mis à jour
|
||||
role: [SecretaireDPT, EnseignantDPT]
|
||||
createur: Aurélien
|
||||
test20:
|
||||
intitulé: Créer une répartition
|
||||
page: Scolarite/Notes
|
||||
operation: Dans le menu modifier créer des groupes, rentrer le nom de la partition et clicker sur nouvelle partition
|
||||
resultat: Le tableau contient une nouvelle ligne avec le nom de la partition préalablement rempli
|
||||
role: [AdminDPT, SecretaireDPT]
|
||||
createur: Aurélien
|
||||
test21:
|
||||
intitulé: Créer un groupe
|
||||
page: Scolarite/Notes
|
||||
operation: Dans le menu modifier/créer des groupes, clicker sur répartir à coté de la partition concernée, remplir groupName et appuyer sur créer groupe
|
||||
resultat: Le groupe apprait dans la div groups
|
||||
role: [AdminDPT, SecretaireDPT]
|
||||
createur: Aurélien
|
||||
test22:
|
||||
intitulé: Affecter des étudiants à un groupe
|
||||
page: Scolarite/Notes
|
||||
operation: Dans une répartition, déplacer des étudiants de étudiants sans groupe au groupe souhaité, enregister ces groupes
|
||||
resultat: Le groupe (discretelink) apparait maintenant sur la fiche des étudiants correspondant
|
||||
role: SecretaireDPT
|
||||
createur: Aurélien
|
||||
test23:
|
||||
intitulé: Créer un module optionnel
|
||||
page:
|
||||
operation:
|
||||
resultat:
|
||||
role:
|
||||
createur: Aurélien
|
||||
|
||||
|
128
creation_absence_test.py
Normal file
128
creation_absence_test.py
Normal file
@ -0,0 +1,128 @@
|
||||
import unittest
|
||||
import time
|
||||
import urllib.parse as urlparse
|
||||
from urllib.parse import parse_qs
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from selenium.webdriver.support.ui import Select, WebDriverWait
|
||||
from selenium.webdriver.support.select import Select
|
||||
|
||||
SCODOC_ADMIN_ID = "admin"
|
||||
SCODOC_ADMIN_PASS = "root_pass_42"
|
||||
nomDPT = "AurelienUS"
|
||||
nomEtu = "UnAutreEtudiant"
|
||||
prenomEtu = "Normal"
|
||||
nip = "11122234"
|
||||
dateDebutAbsenceJustifiee = "12/04/2021"
|
||||
dateDebutAbsenceNonJustifiee = "13/04/2021"
|
||||
|
||||
|
||||
class PythonOrgSearch(unittest.TestCase):
|
||||
|
||||
# Permet de se connecter et se remettre sur la page d'accueil avant chaque test
|
||||
def setUp(self):
|
||||
self.driver = webdriver.Firefox()
|
||||
self.wait = WebDriverWait(self.driver, 10)
|
||||
self.driver.get(
|
||||
"https://"
|
||||
+ SCODOC_ADMIN_ID
|
||||
+ ":"
|
||||
+ SCODOC_ADMIN_PASS
|
||||
+ "@scodoc-dev-iutinfo.univ-lille.fr/force_admin_authentication"
|
||||
)
|
||||
driver = self.driver
|
||||
driver.implicitly_wait(10)
|
||||
url = (
|
||||
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"
|
||||
+ nomDPT
|
||||
+ "/Scolarite/Absences/search_etud_in_dept"
|
||||
)
|
||||
driver.get(url)
|
||||
element = driver.find_element_by_name("expnom")
|
||||
element.send_keys(nomEtu)
|
||||
element.submit()
|
||||
|
||||
# Test : creer un étudiant et verifie si sa fiche étudiante est créée
|
||||
def test_ajout_absence_non_justifiee(self):
|
||||
driver = self.driver
|
||||
driver.find_element_by_link_text("Ajouter").click()
|
||||
driver.find_element_by_name("datedebut").send_keys(dateDebutAbsenceNonJustifiee)
|
||||
driver.find_element_by_id("butsubmit").submit()
|
||||
time.sleep(1)
|
||||
self.assertTrue(
|
||||
"Ajout de 2 absences <b>NON justifiées</b>" in driver.page_source
|
||||
)
|
||||
|
||||
driver = self.driver
|
||||
driver.find_element_by_link_text("Liste").click()
|
||||
self.assertTrue("2 absences non justifiées:" in driver.page_source)
|
||||
|
||||
# def test_modification_liste_absence_non_justifiee(self):
|
||||
# driver = self.driver
|
||||
# driver.find_element_by_link_text("Liste").click()
|
||||
# self.assertTrue("2 absences non justifiées:" in driver.page_source)
|
||||
|
||||
def test_ajout_absence_justifiee(self):
|
||||
driver = self.driver
|
||||
driver.find_element_by_link_text("Ajouter").click()
|
||||
driver.find_element_by_name("datedebut").send_keys(dateDebutAbsenceJustifiee)
|
||||
driver.find_element_by_name("estjust").click()
|
||||
driver.find_element_by_id("butsubmit").submit()
|
||||
time.sleep(1)
|
||||
self.assertTrue("Ajout de 2 absences <b>justifiées</b>" in driver.page_source)
|
||||
driver = self.driver
|
||||
driver.find_element_by_link_text("Liste").click()
|
||||
self.assertTrue("2 absences justifiées:" in driver.page_source)
|
||||
|
||||
# def test_modification_liste_absence_justifiee(self):
|
||||
# driver = self.driver
|
||||
# driver.find_element_by_link_text("Liste").click()
|
||||
# self.assertTrue("2 absences justifiées:" in driver.page_source)
|
||||
|
||||
def test_ajout_justification(self):
|
||||
driver = self.driver
|
||||
driver.find_element_by_link_text("Justifier").click()
|
||||
driver.find_element_by_name("datedebut").send_keys(dateDebutAbsenceJustifiee)
|
||||
driver.find_element_by_name("description").send_keys("Un test selenium")
|
||||
driver.find_element_by_xpath("//input[@value='Envoyer']").click()
|
||||
self.assertTrue("Ajout de 2 <b>justifications</b>" in driver.page_source)
|
||||
driver = self.driver
|
||||
driver.find_element_by_link_text("Liste").click()
|
||||
self.assertTrue("2 absences justifiées:" in driver.page_source)
|
||||
self.assertTrue("absences non justifiées:" in driver.page_source)
|
||||
|
||||
# def test_modification_liste_ajout_justification(self):
|
||||
# driver = self.driver
|
||||
# driver.find_element_by_link_text("Liste").click()
|
||||
# self.assertTrue("4 absences justifiées:" in driver.page_source)
|
||||
# self.assertTrue("absences non justifiées:" not in driver.page_source)
|
||||
|
||||
def test_supprimer_absence(self):
|
||||
driver = self.driver
|
||||
driver.find_element_by_link_text("Supprimer").click()
|
||||
driver.find_element_by_name("datedebut").send_keys(dateDebutAbsenceJustifiee)
|
||||
driver.find_element_by_xpath("//input[@value='Supprimer les absences']").click()
|
||||
self.assertTrue("Annulation sur 2 demi-journées " in driver.page_source)
|
||||
driver = self.driver
|
||||
driver.find_element_by_link_text("Supprimer").click()
|
||||
driver.find_element_by_name("datedebut").send_keys(dateDebutAbsenceNonJustifiee)
|
||||
driver.find_element_by_xpath("//input[@value='Supprimer les absences']").click()
|
||||
driver = self.driver
|
||||
driver.find_element_by_link_text("Liste").click()
|
||||
self.assertTrue("Pas d'absences justifiées" in driver.page_source)
|
||||
self.assertTrue("Pas d'absences non justifiées" in driver.page_source)
|
||||
|
||||
# def test_modification_liste_supression_absence(self):
|
||||
# driver = self.driver
|
||||
# driver.find_element_by_link_text("Liste").click()
|
||||
# self.assertTrue("2 absences justifiées:" in driver.page_source)
|
||||
# self.assertTrue("absences non justifiées:" not in driver.page_source)
|
||||
|
||||
# ferme la fenetre
|
||||
def tearDown(self):
|
||||
self.driver.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
48
creation_departement_test.py
Normal file
48
creation_departement_test.py
Normal file
@ -0,0 +1,48 @@
|
||||
import unittest
|
||||
import time
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.support.ui import Select
|
||||
from selenium.webdriver.support.select import Select
|
||||
SCODOC_ADMIN_ID = 'admin'
|
||||
SCODOC_ADMIN_PASS = 'root_pass_42'
|
||||
|
||||
class PythonOrgSearch(unittest.TestCase):
|
||||
nomDpt = "AurelienUS"
|
||||
#Permet de se connecter et se remettre sur la page d'accueil avant chaque test
|
||||
def setUp(self):
|
||||
self.driver = webdriver.Firefox()
|
||||
self.driver.get("https://"+SCODOC_ADMIN_ID+":"+SCODOC_ADMIN_PASS + "@scodoc-dev-iutinfo.univ-lille.fr/force_admin_authentication")
|
||||
self.driver.get("https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc")
|
||||
|
||||
#Verifie si le "bonjour admin" (signifiant la connexion réussie) est présent
|
||||
def test_connexion_admin(self):
|
||||
driver = self.driver
|
||||
self.assertTrue("admin" in driver.page_source)
|
||||
|
||||
|
||||
#Creer un département et vérifie qu'il est bien présent sur la page d'accueil
|
||||
def test_create_departement(self):
|
||||
driver = self.driver
|
||||
driver.get("https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/scodoc_admin")
|
||||
select = Select(driver.find_element_by_name('DeptId'))
|
||||
select.select_by_visible_text('TESTDPT')
|
||||
self.assertTrue(select.first_selected_option.text == 'TESTDPT')
|
||||
element = driver.find_element_by_name('DeptId')
|
||||
element = driver.find_element_by_id('gtrcontent').find_element_by_tag_name('h6')
|
||||
element.submit()
|
||||
time.sleep(2)
|
||||
driver.get("https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc")
|
||||
self.assertTrue("TESTDPT" in driver.page_source)
|
||||
|
||||
#def test_create_module(self):
|
||||
# driver = self.driver
|
||||
# element = driver.find_element_by_name("TESTDPT")
|
||||
|
||||
|
||||
#ferme la fenetre à chaque fin de test
|
||||
def tearDown(self):
|
||||
self.driver.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
52
creation_formation_test.py
Normal file
52
creation_formation_test.py
Normal file
@ -0,0 +1,52 @@
|
||||
import unittest
|
||||
import time
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.support.ui import Select
|
||||
from selenium.webdriver.support.select import Select
|
||||
|
||||
SCODOC_ADMIN_ID = "admin"
|
||||
SCODOC_ADMIN_PASS = "root_pass_42"
|
||||
nomDpt = "AurelienUS"
|
||||
baseURL = "https://scodoc-dev-iutinfo.univ-lille.fr"
|
||||
|
||||
|
||||
class PythonOrgSearch(unittest.TestCase):
|
||||
# Permet de se connecter et se remettre sur la page d'accueil avant chaque test
|
||||
def setUp(self):
|
||||
self.driver = webdriver.Firefox()
|
||||
self.driver.get(
|
||||
"https://"
|
||||
+ SCODOC_ADMIN_ID
|
||||
+ ":"
|
||||
+ SCODOC_ADMIN_PASS
|
||||
+ "@scodoc-dev-iutinfo.univ-lille.fr/force_admin_authentication"
|
||||
)
|
||||
self.driver.get(baseURL + "/ScoDoc")
|
||||
|
||||
# Creer un département et vérifie qu'il est bien présent sur la page d'accueil
|
||||
def test_create_formation(self):
|
||||
driver = self.driver
|
||||
url = baseURL + "/ScoDoc/" + nomDpt + "/Scolarite/Notes/formation_create"
|
||||
driver.get(url)
|
||||
select = Select(driver.find_element_by_name("DeptId"))
|
||||
select.select_by_visible_text("TESTDPT")
|
||||
self.assertTrue(select.first_selected_option.text == "TESTDPT")
|
||||
element = driver.find_element_by_name("DeptId")
|
||||
element = driver.find_element_by_id("gtrcontent").find_element_by_tag_name("h6")
|
||||
element.submit()
|
||||
time.sleep(2)
|
||||
driver.get(baseURL + "/ScoDoc")
|
||||
self.assertTrue("TESTDPT" in driver.page_source)
|
||||
|
||||
# def test_create_module(self):
|
||||
# driver = self.driver
|
||||
# element = driver.find_element_by_name("TESTDPT")
|
||||
|
||||
# ferme la fenetre à chaque fin de test
|
||||
def tearDown(self):
|
||||
self.driver.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
164
etudiant_test.py
Normal file
164
etudiant_test.py
Normal file
@ -0,0 +1,164 @@
|
||||
import unittest
|
||||
import time
|
||||
import urllib.parse as urlparse
|
||||
from urllib.parse import parse_qs
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from selenium.webdriver.support.ui import Select, WebDriverWait
|
||||
from selenium.webdriver.support.select import Select
|
||||
|
||||
SCODOC_ADMIN_ID = "admin"
|
||||
SCODOC_ADMIN_PASS = "root_pass_42"
|
||||
nomDPT = "AurelienUS"
|
||||
nomEtu = "UnAutreEtudiant"
|
||||
prenomEtu = "Normal"
|
||||
nip = "11122234"
|
||||
domicile = "50 rue de la marmite"
|
||||
codepostaldomicile = "59000"
|
||||
paysdomicile = "Lille"
|
||||
|
||||
|
||||
class PythonOrgSearch(unittest.TestCase):
|
||||
# Permet de se connecter et se remettre sur la page d'accueil avant chaque test
|
||||
def setUp(self):
|
||||
self.driver = webdriver.Firefox()
|
||||
self.wait = WebDriverWait(self.driver, 10)
|
||||
self.driver.get(
|
||||
"https://"
|
||||
+ SCODOC_ADMIN_ID
|
||||
+ ":"
|
||||
+ SCODOC_ADMIN_PASS
|
||||
+ "@scodoc-dev-iutinfo.univ-lille.fr/force_admin_authentication"
|
||||
)
|
||||
self.driver.get("https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc")
|
||||
|
||||
# Test : creer un etudiant et verifie si sa fiche etudiante est creee
|
||||
def test_creation_etudiant(self):
|
||||
driver = self.driver
|
||||
url = (
|
||||
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"
|
||||
+ nomDPT
|
||||
+ "/Scolarite/etudident_create_form"
|
||||
)
|
||||
driver.get(url)
|
||||
driver.find_element_by_id("tf_nom").send_keys(nomEtu)
|
||||
driver.find_element_by_id("tf_prenom").send_keys(prenomEtu)
|
||||
driver.find_element_by_id("tf_annee").send_keys("2021")
|
||||
driver.find_element_by_id("tf_code_nip").send_keys(nip)
|
||||
driver.find_element_by_name("dont_check_homonyms:list").click()
|
||||
driver.find_element_by_id("tf_submit").click()
|
||||
time.sleep(1)
|
||||
self.assertTrue("M. " + prenomEtu + " " + nomEtu.upper() in driver.page_source)
|
||||
self.assertTrue(nip in driver.page_source)
|
||||
|
||||
def test_creation_etudiant_avec_meme_nip(self):
|
||||
driver = self.driver
|
||||
url = (
|
||||
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"
|
||||
+ nomDPT
|
||||
+ "/Scolarite/etudident_create_form"
|
||||
)
|
||||
driver.get(url)
|
||||
driver.find_element_by_id("tf_nom").send_keys(nomEtu)
|
||||
driver.find_element_by_id("tf_prenom").send_keys(prenomEtu)
|
||||
driver.find_element_by_id("tf_annee").send_keys("2021")
|
||||
driver.find_element_by_id("tf_code_nip").send_keys(nip)
|
||||
driver.find_element_by_name("dont_check_homonyms:list").click()
|
||||
driver.find_element_by_id("tf_submit").click()
|
||||
time.sleep(1)
|
||||
self.assertTrue(
|
||||
"<h3>Code étudiant (code_nip) dupliqué !</h3>" in driver.page_source
|
||||
)
|
||||
|
||||
def test_modification_adresse_etudiant(self):
|
||||
driver = self.driver
|
||||
url = (
|
||||
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"
|
||||
+ nomDPT
|
||||
+ "/Scolarite/search_etud_in_dept"
|
||||
)
|
||||
driver.get(url)
|
||||
element = driver.find_element_by_name("expnom")
|
||||
element.send_keys(nomEtu)
|
||||
element.submit()
|
||||
time.sleep(1)
|
||||
driver.find_element_by_link_text("modifier adresse").click()
|
||||
time.sleep(1)
|
||||
driver.find_element_by_id("tf_domicile").send_keys(domicile)
|
||||
driver.find_element_by_id("tf_codepostaldomicile").send_keys(codepostaldomicile)
|
||||
driver.find_element_by_id("tf_paysdomicile").send_keys(paysdomicile)
|
||||
driver.find_element_by_id("tf_submit").click()
|
||||
time.sleep(5)
|
||||
self.assertTrue(
|
||||
codepostaldomicile + " " + paysdomicile + " " + paysdomicile
|
||||
in driver.page_source
|
||||
)
|
||||
|
||||
def test_inscription_etudiant(self):
|
||||
driver = self.driver
|
||||
url = (
|
||||
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"
|
||||
+ nomDPT
|
||||
+ "/Scolarite/search_etud_in_dept"
|
||||
)
|
||||
driver.get(url)
|
||||
element = driver.find_element_by_name("expnom")
|
||||
element.send_keys(nomEtu)
|
||||
element.submit()
|
||||
time.sleep(1)
|
||||
driver.find_element_by_link_text("inscrire").click()
|
||||
time.sleep(1)
|
||||
self.assertTrue("<h3>Choisir un semestre:</h3>" in driver.page_source)
|
||||
driver.find_elements_by_id("semestreInscription")[0].click()
|
||||
self.wait.until(EC.url_changes(url))
|
||||
driver.find_element_by_xpath("//input[@value='Inscrire']").click()
|
||||
self.wait.until(EC.url_changes(url))
|
||||
time.sleep(5)
|
||||
self.assertTrue("Inscrire" not in driver.page_source)
|
||||
|
||||
def test_suppresion_etudiant(self):
|
||||
driver = self.driver
|
||||
url = (
|
||||
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"
|
||||
+ nomDPT
|
||||
+ "/Scolarite/search_etud_in_dept"
|
||||
)
|
||||
driver.get(url)
|
||||
element = driver.find_element_by_name("expnom")
|
||||
element.send_keys(nomEtu)
|
||||
element.submit()
|
||||
time.sleep(1)
|
||||
etudid = driver.find_element_by_id("euid")
|
||||
url = (
|
||||
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"
|
||||
+ nomDPT
|
||||
+ "etudident_delete?etudid="
|
||||
+ etudid.text
|
||||
)
|
||||
driver.get(url)
|
||||
time.sleep(2)
|
||||
driver.find_element_by_xpath(
|
||||
"//input[@value='Supprimer définitivement cet étudiant']"
|
||||
).click()
|
||||
|
||||
# Test changer les donnees d'un etudiant
|
||||
|
||||
# ferme la fenetre
|
||||
def tearDown(self):
|
||||
# url = "https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"+nomDPT+"/Scolarite/"
|
||||
# self.driver.get(url)
|
||||
# elem = self.driver.find_element_by_id("in-expnom")
|
||||
# elem.send_keys(nomEtu)
|
||||
# elem.send_keys(Keys.ENTER)
|
||||
# self.wait.until(EC.url_changes(url))
|
||||
# url = self.driver.current_url
|
||||
# parsedurl = urlparse.urlparse(url)
|
||||
# etudi = parse_qs(parsedurl)['etudid']
|
||||
# print(etudi)
|
||||
# self.driver.get(url+"etidodent_delete?etutid="+etudi)
|
||||
self.driver.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
1972
geckodriver.log
Normal file
1972
geckodriver.log
Normal file
File diff suppressed because it is too large
Load Diff
42
modif_etudiant_test.py
Normal file
42
modif_etudiant_test.py
Normal file
@ -0,0 +1,42 @@
|
||||
import unittest
|
||||
import time
|
||||
import urllib.parse as urlparse
|
||||
from urllib.parse import parse_qs
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
from selenium.webdriver.support import expected_conditions as EC
|
||||
from selenium.webdriver.support.ui import Select, WebDriverWait
|
||||
from selenium.webdriver.support.select import Select
|
||||
SCODOC_ADMIN_ID = 'admin'
|
||||
SCODOC_ADMIN_PASS = 'root_pass_42'
|
||||
nomDPT = "AurelienUS"
|
||||
nomEtu = "UnAutreEtudiant"
|
||||
prenomEtu = "Normal"
|
||||
oldnip = "11122234"
|
||||
newnip = "12345678"
|
||||
eid = "EID1"
|
||||
class PythonOrgSearch(unittest.TestCase):
|
||||
#Permet de se connecter et se remettre sur la page d'accueil avant chaque test
|
||||
def setUp(self):
|
||||
self.driver = webdriver.Firefox()
|
||||
self.wait = WebDriverWait(self.driver,10)
|
||||
self.driver.get("https://"+SCODOC_ADMIN_ID+":"+SCODOC_ADMIN_PASS + "@scodoc-dev-iutinfo.univ-lille.fr/force_admin_authentication")
|
||||
self.driver.get("https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc")
|
||||
|
||||
#Test changer les données d'un étudiant
|
||||
def test_changement_info_etudiant(self):
|
||||
url = "https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"+nomDPT+"/Scolarite/etudident_edit_form?etudid="+eid
|
||||
driver = self.driver
|
||||
driver.get(url)
|
||||
driver.find_element_by_id("tf_code_nip").clear()
|
||||
driver.find_element_by_id("tf_code_nip").send_keys(newnip)
|
||||
driver.find_element_by_id("tf_submit").click()
|
||||
self.wait.until(EC.url_changes(url))
|
||||
time.sleep(5)
|
||||
self.assertTrue(newnip in driver.page_source)
|
||||
#ferme la fenetre
|
||||
def tearDown(self):
|
||||
self.driver.close()
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
12
python_org_search.py
Normal file
12
python_org_search.py
Normal file
@ -0,0 +1,12 @@
|
||||
from selenium import webdriver
|
||||
from selenium.webdriver.common.keys import Keys
|
||||
|
||||
driver = webdriver.Firefox()
|
||||
driver.get("http://www.python.org")
|
||||
assert "Python" in driver.title
|
||||
elem = driver.find_element_by_name("q")
|
||||
elem.clear()
|
||||
elem.send_keys("pycon")
|
||||
elem.send_keys(Keys.RETURN)
|
||||
assert "No results found." not in driver.page_source
|
||||
driver.close()
|
Loading…
Reference in New Issue
Block a user