forked from aurelien.plancke/ScodocTestClient
ajout de commentaire
This commit is contained in:
parent
9bdaa9e6eb
commit
918836b312
@ -4,45 +4,54 @@ 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
|
||||
# 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")
|
||||
self.assertTrue("TESTDPT" in driver.page_source)
|
||||
|
||||
#def test_create_module(self):
|
||||
# def test_create_module(self):
|
||||
# driver = self.driver
|
||||
# element = driver.find_element_by_name("TESTDPT")
|
||||
|
||||
|
||||
#ferme la fenetre à chaque fin de test
|
||||
# ferme la fenetre à chaque fin de test
|
||||
def tearDown(self):
|
||||
self.driver.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
@ -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 = (
|
@ -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
|
||||
# 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.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
|
||||
# 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
|
||||
|
||||
# ferme la fenetre
|
||||
def tearDown(self):
|
||||
self.driver.close()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
unittest.main()
|
@ -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()
|
@ -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.send_keys("12")
|
||||
time.sleep(5)
|
||||
element = driver.find_element_by_class_name("note")
|
||||
element.send_keys("12")
|
||||
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)
|
1661
geckodriver.log
1661
geckodriver.log
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user