# coding: utf8 import unittest import time import subprocess from setup import SCODOC_ADMIN_ID,SCODOC_ADMIN_PASS,BASE_URL,NOM_DPT,LINK_SCODOC_SERVER,BASE_NOT_SECURED_URL 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 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 def setUp(self): self.driver = webdriver.Firefox() self.driver.get( "https://" + SCODOC_ADMIN_ID + ":" + SCODOC_ADMIN_PASS + "@" + BASE_NOT_SECURED_URL + "force_admin_authentication" ) self.driver.get(BASE_URL) # 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) # 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(BASE_URL + "/scodoc_admin") select = Select(driver.find_element_by_id("CreateDept")) select.select_by_visible_text("TESTCREATEDPT") driver.find_element_by_name("DeptId").submit() time.sleep(1) driver.find_element_by_id("tf_submit").click() driver.get(BASE_URL) self.assertTrue("TESTCREATEDPT" in driver.page_source) #Test : Suppresion d'un département, puis lancement d'un script coté serveur pour supprimer sa base de données # @expected : Le département n'apparait plus sur la page d'accueil def test_delete_departement(self): driver = self.driver driver.get(BASE_URL + "/scodoc_admin") select = Select(driver.find_element_by_id("DeleteDept")) select.select_by_visible_text("TESTCREATEDPT") driver.find_element_by_id("DeleteDept").submit() driver.get(BASE_URL) self.assertTrue("TESTCREATEDPT" not in driver.page_source) cmdProcess = ['./scriptDeleteDepartement.sh', LINK_SCODOC_SERVER, 'TESTCREATEDPT'] process = subprocess.Popen(cmdProcess) process.wait() # ferme la fenetre à chaque fin de test def tearDown(self): self.driver.close() if __name__ == "__main__": unittest.main()