forked from aurelien.plancke/ScodocTestClient
refractoring, ajout de nouveaux test, correction de bug
This commit is contained in:
parent
b7f3830b2f
commit
e9269992fe
@ -7,4 +7,5 @@ SCODOC_ENS_PASS = "enseignant_password"
|
|||||||
SCODOC_CHEF_ID = "chef_id"
|
SCODOC_CHEF_ID = "chef_id"
|
||||||
SCODOC_CHEF_PASS = "password"
|
SCODOC_CHEF_PASS = "password"
|
||||||
LINK_SCODOC_SERVER = "root@ssh_server_scodoc"
|
LINK_SCODOC_SERVER = "root@ssh_server_scodoc"
|
||||||
BASE_NOT_SECURED_URL = "scodoc-dev-iutinfo.univ-lille.fr/"
|
BASE_NOT_SECURED_URL = "scodoc-dev-iutinfo.univ-lille.fr/"
|
||||||
|
NAVIGATEUR = "firefox"
|
@ -18,9 +18,6 @@ from selenium.webdriver.support.select import Select
|
|||||||
|
|
||||||
|
|
||||||
class PythonOrgSearch(unittest.TestCase):
|
class PythonOrgSearch(unittest.TestCase):
|
||||||
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, "TESTCREATEDPT"]
|
|
||||||
process = subprocess.Popen(cmdProcess)
|
|
||||||
process.wait()
|
|
||||||
# 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):
|
def setUp(self):
|
||||||
if NAVIGATEUR == "firefox":
|
if NAVIGATEUR == "firefox":
|
||||||
@ -82,4 +79,7 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, "TESTCREATEDPT"]
|
||||||
|
process = subprocess.Popen(cmdProcess)
|
||||||
|
process.wait()
|
||||||
unittest.main()
|
unittest.main()
|
@ -25,9 +25,6 @@ ACRONYME_FORMATION = "FormationTEST"
|
|||||||
|
|
||||||
|
|
||||||
class PythonOrgSearch(unittest.TestCase):
|
class PythonOrgSearch(unittest.TestCase):
|
||||||
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
|
|
||||||
process = subprocess.Popen(cmdProcess)
|
|
||||||
process.wait()
|
|
||||||
# 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):
|
def setUp(self):
|
||||||
if NAVIGATEUR == "firefox":
|
if NAVIGATEUR == "firefox":
|
||||||
@ -181,4 +178,7 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
|
||||||
|
process = subprocess.Popen(cmdProcess)
|
||||||
|
process.wait()
|
||||||
unittest.main()
|
unittest.main()
|
@ -29,17 +29,6 @@ paysdomicile = "Lille"
|
|||||||
|
|
||||||
|
|
||||||
class PythonOrgSearch(unittest.TestCase):
|
class PythonOrgSearch(unittest.TestCase):
|
||||||
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
|
|
||||||
process = subprocess.Popen(cmdProcess)
|
|
||||||
process.wait()
|
|
||||||
cmdProcess = [
|
|
||||||
"./scriptExecution.sh",
|
|
||||||
LINK_SCODOC_SERVER,
|
|
||||||
NOM_DPT,
|
|
||||||
"test_scenario1_formation.py",
|
|
||||||
]
|
|
||||||
process = subprocess.Popen(cmdProcess)
|
|
||||||
process.wait()
|
|
||||||
# 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):
|
def setUp(self):
|
||||||
if NAVIGATEUR == "firefox":
|
if NAVIGATEUR == "firefox":
|
||||||
@ -188,4 +177,15 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
|
||||||
|
process = subprocess.Popen(cmdProcess)
|
||||||
|
process.wait()
|
||||||
|
cmdProcess = [
|
||||||
|
"./scriptExecution.sh",
|
||||||
|
LINK_SCODOC_SERVER,
|
||||||
|
NOM_DPT,
|
||||||
|
"test_scenario1_formation.py",
|
||||||
|
]
|
||||||
|
process = subprocess.Popen(cmdProcess)
|
||||||
|
process.wait()
|
||||||
unittest.main()
|
unittest.main()
|
@ -22,21 +22,10 @@ URL = BASE_URL + NOM_DPT + "/Scolarite"
|
|||||||
NOM_ETU = "Semestre11"
|
NOM_ETU = "Semestre11"
|
||||||
PRENOM_ETU = "EtudiantNumero1"
|
PRENOM_ETU = "EtudiantNumero1"
|
||||||
dateDebutAbsenceNonJustifiee = "31/05/2021"
|
dateDebutAbsenceNonJustifiee = "31/05/2021"
|
||||||
dateDebutAbsenceJustifiee = "30/05/2021"
|
dateDebutAbsenceJustifiee = "25/05/2021"
|
||||||
|
|
||||||
|
|
||||||
class PythonOrgSearch(unittest.TestCase):
|
class PythonOrgSearch(unittest.TestCase):
|
||||||
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
|
|
||||||
process = subprocess.Popen(cmdProcess)
|
|
||||||
process.wait()
|
|
||||||
cmdProcess = [
|
|
||||||
"./scriptExecution.sh",
|
|
||||||
LINK_SCODOC_SERVER,
|
|
||||||
NOM_DPT,
|
|
||||||
"test_scenario2_formation.py",
|
|
||||||
]
|
|
||||||
process = subprocess.Popen(cmdProcess)
|
|
||||||
process.wait()
|
|
||||||
# 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):
|
def setUp(self):
|
||||||
if NAVIGATEUR == "firefox":
|
if NAVIGATEUR == "firefox":
|
||||||
@ -98,7 +87,7 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
driver.find_element_by_name("datedebut").send_keys(dateDebutAbsenceJustifiee)
|
driver.find_element_by_name("datedebut").send_keys(dateDebutAbsenceJustifiee)
|
||||||
driver.find_element_by_name("estjust").click()
|
driver.find_element_by_name("estjust").click()
|
||||||
driver.find_element_by_id("butsubmit").submit()
|
driver.find_element_by_id("butsubmit").submit()
|
||||||
self.wait.until(EC.url_changes(URL))
|
time.sleep(1)
|
||||||
self.assertTrue("Ajout de 2 absences <b>justifiées</b>" in driver.page_source)
|
self.assertTrue("Ajout de 2 absences <b>justifiées</b>" in driver.page_source)
|
||||||
driver = self.driver
|
driver = self.driver
|
||||||
driver.find_element_by_link_text("Liste").click()
|
driver.find_element_by_link_text("Liste").click()
|
||||||
@ -141,7 +130,7 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
driver.find_element_by_xpath("//input[@value='Supprimer les absences']").click()
|
driver.find_element_by_xpath("//input[@value='Supprimer les absences']").click()
|
||||||
self.wait.until(EC.url_changes(URL))
|
self.wait.until(EC.url_changes(URL))
|
||||||
self.assertTrue("Annulation sur 2 demi-journées " in driver.page_source)
|
self.assertTrue("Annulation sur 2 demi-journées " in driver.page_source)
|
||||||
driver.find_element_by_id("supprimer_Absence ").click()
|
driver.find_element_by_id("supprimer_Absence").click()
|
||||||
driver.find_element_by_name("datedebut").send_keys(dateDebutAbsenceNonJustifiee)
|
driver.find_element_by_name("datedebut").send_keys(dateDebutAbsenceNonJustifiee)
|
||||||
driver.find_element_by_xpath("//input[@value='Supprimer les absences']").click()
|
driver.find_element_by_xpath("//input[@value='Supprimer les absences']").click()
|
||||||
self.wait.until(EC.url_changes(URL))
|
self.wait.until(EC.url_changes(URL))
|
||||||
@ -161,4 +150,15 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
|
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
|
||||||
|
process = subprocess.Popen(cmdProcess)
|
||||||
|
process.wait()
|
||||||
|
cmdProcess = [
|
||||||
|
"./scriptExecution.sh",
|
||||||
|
LINK_SCODOC_SERVER,
|
||||||
|
NOM_DPT,
|
||||||
|
"test_scenario2_formation.py",
|
||||||
|
]
|
||||||
|
process = subprocess.Popen(cmdProcess)
|
||||||
|
process.wait()
|
||||||
unittest.main()
|
unittest.main()
|
@ -64,10 +64,6 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
SCODOC_ENS_PASS
|
SCODOC_ENS_PASS
|
||||||
)
|
)
|
||||||
self.driver.find_element_by_name("submit").click()
|
self.driver.find_element_by_name("submit").click()
|
||||||
# self.driver.get(self.url)
|
|
||||||
# self.driver.find_element_by_id("name").send_keys(SCODOC_ENS_ID)
|
|
||||||
# self.driver.find_element_by_id("password").send_keys(SCODOC_ENS_PASS)
|
|
||||||
# self.driver.find_element_by_id("submit").click()
|
|
||||||
|
|
||||||
# Test : Vérifie s'il y a un semestre en cours
|
# Test : Vérifie s'il y a un semestre en cours
|
||||||
# @expected : La class listesems n'est pas vide et contient "Session en cours"
|
# @expected : La class listesems n'est pas vide et contient "Session en cours"
|
||||||
@ -96,49 +92,14 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
except NoSuchElementException:
|
except NoSuchElementException:
|
||||||
self.assertFalse(False)
|
self.assertFalse(False)
|
||||||
|
|
||||||
# Test : Ajout d'un enseignant comme résponsable d'un module
|
def test_030_changement_responsable_sur_module(self):
|
||||||
# @expected : Le nom de l'enseignant apparait désormais sur la page d'information du module
|
|
||||||
def test_030_ajout_enseignant_sur_module(self):
|
|
||||||
driver = self.driver
|
driver = self.driver
|
||||||
# driver.get(BASE_URL)
|
isThere = False
|
||||||
# driver.find_element_by_link_text("déconnecter").click()
|
|
||||||
# driver.get(BASE_URL)
|
|
||||||
# driver.find_element_by_id("name").send_keys(SCODOC_CHEF_ID)
|
|
||||||
# driver.find_element_by_id("password").send_keys(SCODOC_CHEF_PASS)
|
|
||||||
# driver.find_element_by_id("submit").click()
|
|
||||||
# global URL_SEMESTRE
|
|
||||||
driver.get(URL_SEMESTRE)
|
driver.get(URL_SEMESTRE)
|
||||||
driver.find_element_by_link_text("M4101C").click()
|
driver.find_element_by_link_text("M4101C").click()
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
global URL_MATIERE
|
global URL_MATIERE
|
||||||
URL_MATIERE = driver.current_url
|
URL_MATIERE = driver.current_url
|
||||||
driver.find_element_by_partial_link_text("modifier les enseignants").click()
|
|
||||||
time.sleep(1)
|
|
||||||
constructIDEns = (
|
|
||||||
SCODOC_ENS_ID.upper() + " " + PRENOM_ENS + " (" + SCODOC_ENS_ID + ")"
|
|
||||||
)
|
|
||||||
driver.find_element_by_id("ens_id").send_keys(constructIDEns)
|
|
||||||
driver.find_element_by_id("tf_submit").click()
|
|
||||||
time.sleep(1)
|
|
||||||
driver.get(URL_MATIERE)
|
|
||||||
professeurDansModule = driver.find_elements_by_class_name("ens_Dans_Module")
|
|
||||||
# self.assertTrue("Enseignants du" in driver.page_source)
|
|
||||||
time.sleep(5)
|
|
||||||
professeurString = []
|
|
||||||
for professeur in professeurDansModule:
|
|
||||||
professeurString.append(professeur.text)
|
|
||||||
for professeurS in professeurString:
|
|
||||||
print(SCODOC_ENS_ID.lower() + " " + professeurS.lower())
|
|
||||||
print(professeurS.lower().find(SCODOC_ENS_ID.lower() + " e."))
|
|
||||||
if professeurS.lower().find(SCODOC_ENS_ID.lower() + " e."):
|
|
||||||
self.assertTrue(True)
|
|
||||||
|
|
||||||
self.assertFalse(True)
|
|
||||||
|
|
||||||
def test_031_changement_responsable_sur_module(self):
|
|
||||||
driver = self.driver
|
|
||||||
global URL_MATIERE
|
|
||||||
driver.get(URL_MATIERE)
|
|
||||||
driver.find_element_by_xpath(
|
driver.find_element_by_xpath(
|
||||||
"//a[contains(@href,'edit_moduleimpl_resp?')]"
|
"//a[contains(@href,'edit_moduleimpl_resp?')]"
|
||||||
).click()
|
).click()
|
||||||
@ -159,6 +120,35 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
driver.get(URL_MATIERE)
|
driver.get(URL_MATIERE)
|
||||||
nomResponsable = driver.find_element_by_id("ens_Responsable")
|
nomResponsable = driver.find_element_by_id("ens_Responsable")
|
||||||
self.assertTrue(SCODOC_CHEF_ID.lower() in nomResponsable.text.lower())
|
self.assertTrue(SCODOC_CHEF_ID.lower() in nomResponsable.text.lower())
|
||||||
|
global isAdmin
|
||||||
|
isAdmin = False
|
||||||
|
global isChef
|
||||||
|
isChef = True
|
||||||
|
|
||||||
|
# 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_031_ajout_enseignant_sur_module(self):
|
||||||
|
driver = self.driver
|
||||||
|
global URL_MATIERE
|
||||||
|
driver.get(URL_MATIERE)
|
||||||
|
driver.find_element_by_partial_link_text("modifier les enseignants").click()
|
||||||
|
time.sleep(1)
|
||||||
|
constructIDEns = (
|
||||||
|
SCODOC_ENS_ID.upper() + " " + PRENOM_ENS + " (" + SCODOC_ENS_ID + ")"
|
||||||
|
)
|
||||||
|
driver.find_element_by_id("ens_id").send_keys(constructIDEns)
|
||||||
|
driver.find_element_by_id("tf_submit").click()
|
||||||
|
time.sleep(1)
|
||||||
|
driver.get(URL_MATIERE)
|
||||||
|
professeurDansModule = driver.find_elements_by_class_name("ens_Dans_Module")
|
||||||
|
time.sleep(5)
|
||||||
|
professeurString = []
|
||||||
|
for professeur in professeurDansModule:
|
||||||
|
professeurString.append(professeur.text)
|
||||||
|
for professeurS in professeurString:
|
||||||
|
if SCODOC_ENS_ID.lower() in professeurS.lower():
|
||||||
|
isThere = True
|
||||||
|
self.assertTrue(isThere)
|
||||||
|
|
||||||
# Test : Création d'une interrogation en tant que chef des études
|
# Test : Création d'une interrogation en tant que chef des études
|
||||||
# @eexpected : L'interrogation apparait désormais dans ce module
|
# @eexpected : L'interrogation apparait désormais dans ce module
|
||||||
@ -188,8 +178,8 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
driver.find_element_by_id("tf_coefficient").send_keys("2")
|
driver.find_element_by_id("tf_coefficient").send_keys("2")
|
||||||
driver.find_element_by_id("tf_submit").click()
|
driver.find_element_by_id("tf_submit").click()
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
global isAdmin
|
global isChef
|
||||||
isAdmin = False
|
isChef = False
|
||||||
global isEns
|
global isEns
|
||||||
isEns = True
|
isEns = True
|
||||||
self.assertTrue(descriptionInterrogation in driver.page_source)
|
self.assertTrue(descriptionInterrogation in driver.page_source)
|
||||||
@ -261,8 +251,8 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
self.assertFalse(False)
|
self.assertFalse(False)
|
||||||
except NoSuchElementException:
|
except NoSuchElementException:
|
||||||
self.assertTrue(True)
|
self.assertTrue(True)
|
||||||
global isAdmin
|
global isChef
|
||||||
isAdmin = True
|
isChef = True
|
||||||
global isEns
|
global isEns
|
||||||
isEns = False
|
isEns = False
|
||||||
|
|
||||||
@ -286,10 +276,10 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
driver.find_element_by_class_name("delete_img").click()
|
driver.find_element_by_class_name("delete_img").click()
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
driver.find_element_by_id("tf_submit").click()
|
driver.find_element_by_id("tf_submit").click()
|
||||||
global isAdmin
|
# global isAdmin
|
||||||
isAdmin = True
|
# isAdmin = True
|
||||||
global isEns
|
# global isEns
|
||||||
isEns = False
|
# isEns = False
|
||||||
self.assertFalse(descriptionInterrogation in driver.page_source)
|
self.assertFalse(descriptionInterrogation in driver.page_source)
|
||||||
|
|
||||||
# Test : Suppression d'un enseignant responsable d'un module
|
# Test : Suppression d'un enseignant responsable d'un module
|
||||||
@ -306,8 +296,6 @@ class PythonOrgSearch(unittest.TestCase):
|
|||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
driver.get(URL_MATIERE)
|
driver.get(URL_MATIERE)
|
||||||
print(SCODOC_ENS_ID)
|
|
||||||
time.sleep(10)
|
|
||||||
self.assertTrue(SCODOC_ENS_ID not in driver.page_source)
|
self.assertTrue(SCODOC_ENS_ID not in driver.page_source)
|
||||||
|
|
||||||
# Test : Suppresion du reste des interrogations sans notes
|
# Test : Suppresion du reste des interrogations sans notes
|
||||||
|
@ -1,15 +1,19 @@
|
|||||||
import unittest
|
import unittest
|
||||||
import time
|
import time
|
||||||
|
import subprocess
|
||||||
import urllib.parse as urlparse
|
import urllib.parse as urlparse
|
||||||
from setup import (
|
from setting import (
|
||||||
SCODOC_ADMIN_ID,
|
SCODOC_ADMIN_ID,
|
||||||
SCODOC_ADMIN_PASS,
|
SCODOC_ADMIN_PASS,
|
||||||
BASE_URL,
|
BASE_URL,
|
||||||
|
BASE_NOT_SECURED_URL,
|
||||||
|
LINK_SCODOC_SERVER,
|
||||||
NOM_DPT,
|
NOM_DPT,
|
||||||
SCODOC_ENS_ID,
|
SCODOC_ENS_ID,
|
||||||
SCODOC_ENS_PASS,
|
SCODOC_ENS_PASS,
|
||||||
SCODOC_CHEF_ID,
|
SCODOC_CHEF_ID,
|
||||||
SCODOC_CHEF_PASS,
|
SCODOC_CHEF_PASS,
|
||||||
|
NAVIGATEUR,
|
||||||
)
|
)
|
||||||
from urllib.parse import parse_qs
|
from urllib.parse import parse_qs
|
||||||
from selenium import webdriver
|
from selenium import webdriver
|
||||||
@ -20,25 +24,82 @@ from selenium.webdriver.support.ui import Select, WebDriverWait
|
|||||||
from selenium.webdriver.support.select import Select
|
from selenium.webdriver.support.select import Select
|
||||||
|
|
||||||
urlMatiere = ""
|
urlMatiere = ""
|
||||||
|
listeEtudiant = []
|
||||||
|
|
||||||
|
|
||||||
class PythonOrgSearch(unittest.TestCase):
|
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):
|
def setUp(self):
|
||||||
#chargement du script creation d'interro
|
if NAVIGATEUR == "firefox":
|
||||||
self.driver = webdriver.Firefox()
|
self.driver = webdriver.Firefox()
|
||||||
|
elif NAVIGATEUR == "chrome":
|
||||||
|
self.driver = webdriver.Chrome()
|
||||||
self.url = BASE_URL + NOM_DPT + "/Scolarite"
|
self.url = BASE_URL + NOM_DPT + "/Scolarite"
|
||||||
self.wait = WebDriverWait(self.driver, 10)
|
self.wait = WebDriverWait(self.driver, 10)
|
||||||
self.driver.get(BASE_URL)
|
self.driver.get(
|
||||||
self.driver.find_element_by_id("name").send_keys(SCODOC_ENS_ID)
|
"https://"
|
||||||
self.driver.find_element_by_id("password").send_keys(SCODOC_ENS_PASS)
|
+ SCODOC_ADMIN_ID
|
||||||
self.driver.find_element_by_id("submit").click()
|
+ ":"
|
||||||
|
+ SCODOC_ADMIN_PASS
|
||||||
|
+ "@"
|
||||||
|
+ BASE_NOT_SECURED_URL
|
||||||
|
+ "force_admin_authentication"
|
||||||
|
)
|
||||||
|
self.driver.get(self.url)
|
||||||
|
|
||||||
def test_010_ajout_note_multiple(self):
|
def test_010_ajout_note_multiple(self):
|
||||||
driver = self.driver()
|
driver = self.driver
|
||||||
url = self.url
|
url = self.url
|
||||||
driver.find_element_by_link_text("DUT Informatique semestre 4").click()
|
driver.find_element_by_link_text("semestre 1").click()
|
||||||
driver.find_element_by_link_text("M4101C").click()
|
matiereAvecEvaluation = driver.find_elements_by_xpath(
|
||||||
time.sleep(1)
|
"//a[contains(text(),'1 prévues, 0 ok')]"
|
||||||
global urlMatiere
|
)
|
||||||
urlMatiere = driver.current_url
|
global listeEtudiant
|
||||||
|
linkAddNote = "formnotes_note_"
|
||||||
|
|
||||||
|
for evaluation in matiereAvecEvaluation:
|
||||||
|
URL = driver.current_url
|
||||||
|
evaluation.click()
|
||||||
|
self.wait.until(EC.url_changes(URL))
|
||||||
|
URL_SEMESTRE = driver.current_url
|
||||||
|
driver.find_element_by_xpath("//a[contains(@href,'saisie_notes?')]").click()
|
||||||
|
self.wait.until(EC.url_changes(URL_SEMESTRE))
|
||||||
|
for champs in driver.find_elements_by_xpath(
|
||||||
|
"//input[contains(@id,'" + linkAddNote + "')]"
|
||||||
|
):
|
||||||
|
champs.send_keys(12)
|
||||||
|
idChamp = champs.get_attribute("id")
|
||||||
|
idEtud = idChamp[len(linkAddNote) : len(idChamp)]
|
||||||
|
if idEtud not in listeEtudiant:
|
||||||
|
listeEtudiant.append(idEtud)
|
||||||
|
URL = driver.current_url
|
||||||
|
driver.find_element_by_id("formnotes_submit").click()
|
||||||
|
self.wait.until(EC.url_changes(URL))
|
||||||
|
driver.get(URL_SEMESTRE)
|
||||||
|
for etudiant in listeEtudiant:
|
||||||
|
searchBar = driver.find_element_by_id("in-expnom")
|
||||||
|
searchBar.send_keys(etudiant)
|
||||||
|
searchBar.submit()
|
||||||
|
self.assertTrue(driver.find_element_by_id("rcp_moy").text == "12")
|
||||||
|
|
||||||
|
def tearDown(self):
|
||||||
|
self.driver.close()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
if NAVIGATEUR == "firefox":
|
||||||
|
driver = webdriver.Firefox()
|
||||||
|
else:
|
||||||
|
driver = webdriver.Chrome()
|
||||||
|
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
|
||||||
|
process = subprocess.Popen(cmdProcess)
|
||||||
|
process.wait()
|
||||||
|
cmdProcess = [
|
||||||
|
"./scriptExecution.sh",
|
||||||
|
LINK_SCODOC_SERVER,
|
||||||
|
NOM_DPT,
|
||||||
|
"test_scenario3_formation.py",
|
||||||
|
]
|
||||||
|
process = subprocess.Popen(cmdProcess)
|
||||||
|
process.wait()
|
||||||
|
unittest.main(warnings="ignore")
|
0
07_test_admission.py
Normal file
0
07_test_admission.py
Normal file
@ -8,7 +8,6 @@ aliases:
|
|||||||
Role3: &Prof Professeur
|
Role3: &Prof Professeur
|
||||||
Role4: &AdminDPT AdminDepartement
|
Role4: &AdminDPT AdminDepartement
|
||||||
Page1: &Accueil Accueil
|
Page1: &Accueil Accueil
|
||||||
Champs: [&champTest test]
|
|
||||||
Page2: &Absence Absence
|
Page2: &Absence Absence
|
||||||
Page3: &Departement Departement
|
Page3: &Departement Departement
|
||||||
Page4: &Notes Notes
|
Page4: &Notes Notes
|
||||||
@ -58,7 +57,7 @@ test4:
|
|||||||
resultat: la page sur laquelle on est dirigée contient un tableau avec la formation crée, dont un id avec titre_nom_formation
|
resultat: la page sur laquelle on est dirigée contient un tableau avec la formation crée, dont un id avec titre_nom_formation
|
||||||
etat: *DeptCreated
|
etat: *DeptCreated
|
||||||
page: *Notes
|
page: *Notes
|
||||||
champs: "titre_" + acronyme
|
champs: "titre_acronyme"
|
||||||
role: *AdminDPT
|
role: *AdminDPT
|
||||||
createur: Aurélien
|
createur: Aurélien
|
||||||
test5:
|
test5:
|
||||||
|
6
output.txt
Normal file
6
output.txt
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
>>>
|
||||||
|
.....
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
Ran 5 tests in 77.731s
|
||||||
|
|
||||||
|
OK
|
@ -4,6 +4,6 @@ Environnement de test :
|
|||||||
Editer le .envmodel pour remplacer les différentes informations qui permettent d'intéragir avec Scodoc (attention au / dans les liens, il y a des exemples)
|
Editer le .envmodel pour remplacer les différentes informations qui permettent d'intéragir avec Scodoc (attention au / dans les liens, il y a des exemples)
|
||||||
Renommer le fichier en .env
|
Renommer le fichier en .env
|
||||||
|
|
||||||
Les tests sont prévus pour fonctionner avec firefox, le webdriver (geckodriver) est intégré dans le projet pour éviter de devoir l'installer manuellement
|
Les tests sont prévus pour fonctionner avec firefox, le webdriver (geckodriver) est intégré dans le projet pour éviter de devoir l'installer manuellement, il est également possible de préciser un autre webdriver en le précisant dans le .env, en remplaçant firefox par chrome par exemple
|
||||||
|
|
||||||
Les tests sont prévus pour fonctionner en python 3 avec unit test
|
Les tests sont prévus pour fonctionner en python 3 avec unit test
|
Loading…
Reference in New Issue
Block a user