Compare commits

...

2 Commits

5 changed files with 109 additions and 11 deletions

View File

@ -257,4 +257,26 @@ if __name__ == "__main__":
cmdProcess = ["./scriptCreationDepartement.sh", LINK_SCODOC_SERVER, NOM_DPT]
process = subprocess.Popen(cmdProcess)
process.wait()
if NAVIGATEUR == "firefox":
driver = webdriver.Firefox()
else:
driver = webdriver.Chrome()
driver.get(
"https://"
+ SCODOC_ADMIN_ID
+ ":"
+ SCODOC_ADMIN_PASS
+ "@"
+ BASE_NOT_SECURED_URL
+ "force_admin_authentication"
)
driver.get(BASE_URL + "scodoc_admin")
time.sleep(2)
select = Select(driver.find_element_by_id("CreateDept"))
select.select_by_visible_text(NOM_DPT)
driver.find_element_by_name("DeptId").submit()
time.sleep(1)
driver.find_element_by_id("tf_submit").click()
time.sleep(1)
driver.close()
unittest.main(testRunner=HtmlTestRunner.HTMLTestRunner(output="./output"))

Binary file not shown.

9
lancement_de_tout_les_tests.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
#Ce script lance en séquence les différents jeux de tests.
python3 01_creation_departement_test.py;
python3 02_creation_formation_test.py;
python3 03_etudiant_test.py;
python3 04_creation_absence_test.py;
python3 05_saisie_note_test.py;
python3 06_test_moyenne.py;
python3 07_test_admission.py

View File

@ -1,14 +1,80 @@
I Configuration
#Tests E2E du logiciel Scodoc
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)
Renommer le fichier en .env
Ces jeux de tests ont été conçus pour tester automatiquement Scodoc d'un point de vue E2E (End to End). Ils sont en théorie indépendants les uns des autres. Ils ont étés développés en python 3.
## I Configuration
Dans cette partie je vais détailler les prérequis pour l'environnement de développement
### Prérequis Module
Ces prérequis peuvent être trouvés dans requirements.txt qui se trouvent à la base du projet.
Vous devez avoir pip d'installé, normalement il est fourni avec les versions de python3, sinon vous trouverez les étapes d'installation [ici](https://pip.pypa.io/en/stable/installing/)
Les modules suivant sont nécessaire :
>selenium==3.141.0
>python-dotenv==0.17.1
>HtmlTestRunner==0.8.0
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
Vous pouvez les installer manuellement avec pip avec la commande suivante :
>pip install selenium
IL y a certains module qui sont requis pour lancer ces tests pour cela les installer avec pip à l'aide des commandes suivante :
pip install selenium
pip install python-dotenv
Les tests sont prévus pour fonctionner en python 3 avec unit test
ou alternativement avec
>pip install -r requirements.txt
### Environnement de test
Un modèle de .env est fourni dans ce projet, pour que les tests soient fonctionnel vous devez le remplir et le renommer en .env. Ce dernier servira à remplir différentes informations spécifiques concernant votre environnement Scodoc. Nous allons le voir ici en détail
#### .env
#TODO Lancer les test en parrallèle
>BASE_URL = "https://scodoc-dev-iutinfo.univ-lille.fr/ScoDoc/"
Ici sera le lien vers la page d'accueil de votre Scodoc
>NOM_DPT = "test01"
Le nom du département surlequel vous allez effectuer vos tests, il est **FORTEMENT** conseillés de mettre ici un nom de département qui n'existe pas, sous risque de perte de données.
>SCODOC_ADMIN_ID = "admin_id"
Le nom d'utilisateur d'un Admin Scodoc.
>SCODOC_ADMIN_PASS = "admin_password"
Le mot de passe d'un Admin Scodoc.
>SCODOC_ENS_ID = "enseignant_id"
Le nom d'utilisateur d'un enseignant lambda qui servira pour rentrer des notes, soit qui existe, soit qui sera créé.
>SCODOC_ENS_PASS = "enseignant_password@10"
Le mot de passe de l'utilisateur précédent, si l'utilisateur précédent n'existe pas, veillez à avoir un mot de passe suffisamenent compliqué pour la création de ce dernier.
>SCODOC_CHEF_ID = "chef_id"
Le nom d'utilisateur d'un enseignant lambda qui se verra attribué le rôle de résponsable d'un module afin de créer des interrogations , soit qui existe, soit qui sera créé.
>SCODOC_CHEF_PASS = "p@ssword42@"
Le mot de passe de l'utilisateur précédent, si l'utilisateur précédent n'existe pas, veillez à avoir un mot de passe suffisamenent compliqué pour la
>LINK_SCODOC_SERVER = "root@ssh_server_scodoc"
Le lien vers votre serveur Scodoc, ce dernier servira à lancer des scripts de mise en place sur le serveur. Veillez donc à avoir une connexion avec les droits root sur votre serveur, de préférences avec échange de clef ssh.
>BASE_NOT_SECURED_URL = "scodoc-dev-iutinfo.univ-lille.fr/"
Le lien vers la page de choix de département, avec le format précisé.
>NAVIGATEUR = "firefox"
Ici vous pouvez choisir entre firefox et chrome,choisissez le navigateur dans lequel vous voulez que vos tests se déroulent. Cette ligne permettra au programme de choisir le webdriver correspondant.
#### Explications du fonctionnement des tests
Les tests sont prévus pour fonctionner avec firefox ou chrome les webdrivers sont intégrés dans le projet pour éviter de devoir les installer manuellement. Ces webdrivers servent à faire la connexion entre python et le navigateur.
##Lancement des tests
Pour lancer les tests, assurez vous d'avoir une connexion possible avec votre serveur. Positionnez vous à la racine de ce projet et il suffit donc de lancer la commande par exemple pour le premier jeux de tests
>python3 01_creation_departement_test.py
###Resultats des tests
###TODO
> Lancer les test en parrallèle

View File

@ -1,2 +1,3 @@
selenium==3.141.0
python-dotenv==0.17.1
HtmlTestRunner==0.8.0
python-dotenv==0.18.0