# coding: utf8 import unittest import time import subprocess from setup import SCODOC_ADMIN_ID,SCODOC_ADMIN_PASS,BASE_URL,NOM_DPT, LINK_SCODOC_SERVER from selenium import webdriver from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import Select, WebDriverWait from selenium.common.exceptions import NoSuchElementException from selenium.webdriver.common.keys import Keys from selenium.webdriver.support.ui import Select from selenium.webdriver.support.select import Select URL = BASE_URL + NOM_DPT + "/Scolarite" ACRONYME_FORMATION = "FormationTEST" 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 def setUp(self): self.url = '' 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(BASE_URL + "/ScoDoc") # Test Creer une formation # @expected : La formation se trouve dans le tableau de la liste des formations def test_011_create_formation(self): driver = self.driver driver.get(URL) driver.find_element_by_id("ProgrammesLink").click() self.url = driver.current_url driver.find_element_by_id("create_formation_link").click() self.wait.until(EC.url_changes(URL)) driver.find_element_by_id("tf_acronyme").send_keys(ACRONYME_FORMATION) driver.find_element_by_id("tf_titre").send_keys("TEST") driver.find_element_by_id("tf_titre_officiel").send_keys("formation de test") driver.find_element_by_id("tf_submit").click() driver.get(self.url) formations = driver.find_elements_by_class_name("acronyme") textElementAcronyme = [] for formation in formations: textElementAcronyme.append(formation.text) self.assertTrue(ACRONYME_FORMATION in textElementAcronyme) def test_012_create_formation_with_same_name(self): driver = self.driver url = self.url driver.get(url) idEditFormation = "edit_Formation_" + ACRONYME_FORMATION driver.find_element_by_id(idEditFormation).click() self.wait.until(EC.url_changes(URL)) driver.find_element_by_id("tf_acronyme").send_keys(ACRONYME_FORMATION + ACRONYME_FORMATION) driver.find_element_by_id("tf_submit").click() driver.get(self.url) formations = driver.find_elements_by_class_name(" acronyme") textElementAcronyme = [] for formation in formations: textElementAcronyme.append(formation.text) self.assertTrue(ACRONYME_FORMATION + ACRONYME_FORMATION in textElementAcronyme) def test_020_delete_formation(self): driver = self.driver url = self.url driver.get(self.url) driver.find_element_by_id("ProgrammesLink").click() url = driver.current_url idButtonDelete = "delete_Formation_"+ACRONYME_FORMATION driver.find_element_by_id(idButtonDelete).click() self.wait.until(EC.url_changes(url)) driver.find_element_by_xpath("//input[@value='Supprimer cette formation']").click() driver.get(self.url) try: driver.find_element_by_id(idButtonDelete) self.assertTrue(False) except NoSuchElementException: self.assertTrue(True) # 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()