ajout de commentaire

This commit is contained in:
Aurélien Plancke 2021-05-06 08:32:30 +02:00
parent 9bdaa9e6eb
commit 918836b312
7 changed files with 1786 additions and 61 deletions

View File

@ -4,32 +4,41 @@ 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'
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_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
# Test : Verification de la connexion admin effective
# @expected : "Bonjour admin" est présent sur la page d'accueil
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
# Test : Creer un département
# @expected : Le département est 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')
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")
@ -39,10 +48,10 @@ class PythonOrgSearch(unittest.TestCase):
# 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()

View File

@ -34,6 +34,7 @@ class PythonOrgSearch(unittest.TestCase):
self.driver.get("https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc")
# Test : creer un etudiant et verifie si sa fiche etudiante est creee
# @expected : A la soumission du formulaire on retrouve la fiche d'information avec le nip (unique) dans la page, on a également un resultat en recherchant l'étudiant
def test_creation_etudiant(self):
driver = self.driver
url = (
@ -52,6 +53,8 @@ class PythonOrgSearch(unittest.TestCase):
self.assertTrue("M. " + prenomEtu + " " + nomEtu.upper() in driver.page_source)
self.assertTrue(nip in driver.page_source)
# Test : Creer un étudiant avec un nip qui est déjà présent dans la base Scodoc
# @expected : La création mène à une page qui affiche "code étudiant dupliqué", l'étudiant n'est pas créé
def test_creation_etudiant_avec_meme_nip(self):
driver = self.driver
url = (
@ -71,6 +74,8 @@ class PythonOrgSearch(unittest.TestCase):
"<h3>Code étudiant (code_nip) dupliqué !</h3>" in driver.page_source
)
# Test Modification de l'adresse étudiant
# expected : La nouvelle adresse est mise à jour sur la page information de l'étudiant
def test_modification_adresse_etudiant(self):
driver = self.driver
url = (
@ -92,6 +97,8 @@ class PythonOrgSearch(unittest.TestCase):
time.sleep(1)
self.assertTrue("Adresse :" in driver.page_source)
# Test Inscription d'un étudiant dans un semestre
# @expected :
def test_inscription_etudiant(self):
driver = self.driver
url = (
@ -114,7 +121,8 @@ class PythonOrgSearch(unittest.TestCase):
self.assertTrue("Inscrire" in driver.page_source)
time.sleep(1)
# supprime un étudiant et vérifie s'il est bien supprimé
# Test Supprime un étudiant
# @expected : Lors d'une recherche sur le nom de l'étudiant, aucun résultat apparait
def test_suppresion_etudiant(self):
driver = self.driver
urlRecherche = (

View File

@ -7,25 +7,40 @@ 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'
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_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
# @expected : Le nip sur la page informations de l'étudiant est mis à jour
def test_changement_info_etudiant(self):
url = "https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"+nomDPT+"/Scolarite/etudident_edit_form?etudid="+eid
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()
@ -34,9 +49,11 @@ class PythonOrgSearch(unittest.TestCase):
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()

View File

@ -43,7 +43,8 @@ class PythonOrgSearch(unittest.TestCase):
element.send_keys(nomEtu)
element.submit()
# Test : creer une absence et verifie si sa fiche étudiante est mise à jour avec le nombre d'absence correspondant
# Test : creer une absence non justifiée
# @expected : La fiche étudiante est incrémentée avec le nombre d'absence injustifiée correspondant
def test_ajout_absence_non_justifiee(self):
driver = self.driver
driver.find_element_by_link_text("Ajouter").click()
@ -63,6 +64,8 @@ class PythonOrgSearch(unittest.TestCase):
# driver.find_element_by_link_text("Liste").click()
# self.assertTrue("2 absences non justifiées:" in driver.page_source)
# Test pour ajouter deux absences justifiées
# @expected : La fiche d'information de l'étudiant concerné à son compteur d'absence augmenté de 2
def test_ajout_absence_justifiee(self):
driver = self.driver
driver.find_element_by_link_text("Ajouter").click()
@ -80,6 +83,8 @@ class PythonOrgSearch(unittest.TestCase):
# driver.find_element_by_link_text("Liste").click()
# self.assertTrue("2 absences justifiées:" in driver.page_source)
# Test Justification d'une absence non justifiée
# @expected : Le champs des absences non justifiées diminue et celui des justifiés augmente du nombre d'absence
def test_ajout_justification(self):
driver = self.driver
driver.find_element_by_link_text("Justifier").click()
@ -98,6 +103,8 @@ class PythonOrgSearch(unittest.TestCase):
# self.assertTrue("4 absences justifiées:" in driver.page_source)
# self.assertTrue("absences non justifiées:" not in driver.page_source)
# Test Suppression des absences pour un élève
# @expected : Les compteurs d'absences sont remplacés par "Pas d'absences"
def test_supprimer_absence(self):
driver = self.driver
driver.find_element_by_link_text("Supprimer").click()

View File

@ -20,27 +20,32 @@ 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.url = (
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/" + nomDPT + "/Scolarite"
)
self.wait = WebDriverWait(self.driver, 10)
self.driver.get("https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/")
self.driver.find_element_by_id("name").send_keys(SCODOC_ID)
self.driver.find_element_by_id("password").send_keys(SCODOC_PASS)
self.driver.find_element_by_id("submit").click()
# Test : Vérifie s'il y a un semestre en cours
# @expected : La class listesems n'est pas vide et contient "Session en cours"
def test_01semestre_en_cours(self):
driver = self.driver
driver.get(
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/" + nomDPT + "/Scolarite"
)
url = self.url
driver.get(url)
time.sleep(1)
self.assertTrue(
"Sessions en cours" in driver.find_element_by_class_name("listesems").text
)
# Test : Vérifie si une matière existe
# @expected : Le nom de la matière est présent dans le semestre préalablement testé
def test_02matiere_existante(self):
driver = self.driver
driver.get(
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/" + nomDPT + "/Scolarite"
)
url = self.url
driver.get(url)
driver.find_element_by_link_text("DUT Informatique semestre 4").click()
time.sleep(1)
try:
@ -49,8 +54,11 @@ class PythonOrgSearch(unittest.TestCase):
except NoSuchElementException:
self.assertFalse(False)
# Test : Ajout d'un enseignant comme résponsable d'un module
# @expected : Le nom de l'enseignant apparait désormais sur la page d'information du module
def test_03ajout_enseignant_sur_module(self):
driver = self.driver
url = self.url
self.driver.get(
"https://"
+ SCODOC_ADMIN_ID
@ -58,9 +66,7 @@ class PythonOrgSearch(unittest.TestCase):
+ SCODOC_ADMIN_PASS
+ "@scodoc-dev-iutinfo.univ-lille.fr/force_admin_authentication"
)
driver.get(
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/" + nomDPT + "/Scolarite"
)
driver.get(url)
driver.find_element_by_link_text("DUT Informatique semestre 4").click()
driver.find_element_by_link_text("M4101C").click()
time.sleep(1)
@ -72,11 +78,12 @@ class PythonOrgSearch(unittest.TestCase):
self.assertTrue("Enseignants du" in driver.page_source)
self.assertTrue(SCODOC_ID in driver.page_source)
# Test Vérifie si une interrogation existe sur un module
# @expected "Module" est présent dans le "formsemetre"
def test_04interro_existante(self):
driver = self.driver
driver.get(
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/" + nomDPT + "/Scolarite"
)
url = self.url
driver.get(url)
driver.find_element_by_link_text("DUT Informatique semestre 4").click()
driver.find_element_by_link_text("M4101C").click()
time.sleep(1)
@ -84,51 +91,69 @@ class PythonOrgSearch(unittest.TestCase):
"Module" in driver.find_element_by_class_name("formsemestre").text
)
# Test Entree des notes pour le premier étudiant inscrit à un module
# @expected : "saisir note" est remplacé par "afficher" sur la page d'information de l'interrogation concernée
def test_05entree_note(self):
driver = self.driver
driver.get(
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/" + nomDPT + "/Scolarite"
)
url = self.url
driver.get(url)
driver.find_element_by_link_text("DUT Informatique semestre 4").click()
driver.find_element_by_link_text("M4101C").click()
time.sleep(1)
driver.find_element_by_link_text("saisir notes").click()
driver.find_element_by_class_name("notes_img").click()
time.sleep(1)
elements = driver.find_elements_by_class_name("note")
for element in elements:
element = driver.find_element_by_class_name("note")
element.send_keys("12")
time.sleep(5)
driver.find_element_by_id("formnotes_submit").click()
self.wait.until(EC.url_changes(url))
self.assertTrue(
driver.find_element_by_link_text("afficher").text in driver.page_source
)
# Test : Ajoute les notes manquante poru les étudiants concernés dans une interrogation
# @expected : Tout les étudiants on une note
def test_06ajout_note_incomplete(self):
driver = self.driver
driver.get(
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/" + nomDPT + "/Scolarite"
)
url = self.url
driver.get(url)
driver.find_element_by_link_text("DUT Informatique semestre 4").click()
driver.find_element_by_link_text("M4101C").click()
time.sleep(1)
driver.find_element_by_xpath(
"//input[@title='Saisie des notes' and @type='image']"
).click()
driver.find_element_by_class_name("notes_img").click()
elements = driver.find_elements_by_class_name("note")
for element in elements:
if not element.text:
element.send_keys(15)
time.sleep(5)
# Test : Suppresion des notes pour tout les étudiants concernés dans une interrogation
# @expected : La moyenne ne s'affiche plus, "afficher" disparait de la page d'information de l'interrogation
def test_07suppression_note(self):
driver = self.driver
driver.get(
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/" + nomDPT + "/Scolarite"
)
url = self.url
driver.get(url)
driver.find_element_by_link_text("DUT Informatique semestre 4").click()
driver.find_element_by_link_text("M4101C").click()
time.sleep(1)
driver.find_element_by_link_text("saisir notes").click()
driver.find_element_by_class_name("notes_img").click()
time.sleep(1)
elements = driver.find_elements_by_class_name("note")
for element in elements:
element.send_keys("12")
time.sleep(5)
element.clear()
element.send_keys("SUPR")
driver.find_element_by_id("formnotes_submit").click()
self.wait.until(EC.url_changes(url))
try:
driver.find_element_by_link_text("afficher")
self.assertFalse(False)
except NoSuchElementException:
self.assertTrue(True)
# Test : Suppression d'un enseignant responsable d'un module
# @expected : L'enseignant n'apparait plus comme responsable dans ce module
def test_08suppression_enseignant_sur_module(self):
driver = self.driver
url = self.url
self.driver.get(
"https://"
+ SCODOC_ADMIN_ID
@ -136,9 +161,7 @@ class PythonOrgSearch(unittest.TestCase):
+ SCODOC_ADMIN_PASS
+ "@scodoc-dev-iutinfo.univ-lille.fr/force_admin_authentication"
)
driver.get(
"https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/" + nomDPT + "/Scolarite"
)
driver.get(url)
driver.find_element_by_link_text("DUT Informatique semestre 4").click()
driver.find_element_by_link_text("M4101C").click()
time.sleep(1)

File diff suppressed because it is too large Load Diff