[Scodoc-devel] [SVN] Scolar : [1199] - Ajout test jury.

eviennet at lipn.univ-paris13.fr eviennet at lipn.univ-paris13.fr
Dim 10 Mar 09:37:22 CET 2013


Une pièce jointe HTML a été nettoyée...
URL: <https://www-rt.iutv.univ-paris13.fr/pipermail/scodoc-devel/attachments/20130310/4652952c/attachment.html>
-------------- section suivante --------------
Modified: trunk/tests/common.py
===================================================================
--- trunk/tests/common.py	2013-03-03 21:09:57 UTC (rev 1198)
+++ trunk/tests/common.py	2013-03-10 08:37:21 UTC (rev 1199)
@@ -6,25 +6,33 @@
 se connecte et accede a la page d'accueil du premier departement
 """
 from splinter import Browser
-import re
+import re, sys, time
 import urlparse
 import pdb
+from optparse import OptionParser
 
 from conn_info import *
 
+parser = OptionParser()
+parser.add_option("-d", "--dept", dest="dept_index", default=0, help="indice du departement")
+options, args = parser.parse_args()
+
+dept_index = int(options.dept_index)
+
+t0 = time.time()
 browser = Browser('zope.testbrowser')
 browser.visit(SCODOC)
-print browser.title
-print browser.url
+print 'Start: title:', browser.title
+print 'URL: ', browser.url
 # print browser.html
 
 links = browser.find_link_by_partial_text('Scolarit')
 print '%d departements' % len(links)
 
-links[0].click()
+links[dept_index].click() # va sur le premier departement
 
 # ---- Formulaire authentification
-print browser.url
+print 'Authentification: ', browser.url
 
 browser.fill('__ac_name', USER)
 browser.fill('__ac_password', PASSWD)
@@ -34,5 +42,7 @@
 # ---- Page accueil Dept
 print browser.url
 
-links = browser.find_link_by_partial_text('DUT informatique en FI')
+links = browser.find_link_by_partial_text('DUT')
 links[0].click()
+print 'Starting test from %s' % browser.url
+print browser.title

Modified: trunk/tests/test-intensive-changes.py
===================================================================
--- trunk/tests/test-intensive-changes.py	2013-03-03 21:09:57 UTC (rev 1198)
+++ trunk/tests/test-intensive-changes.py	2013-03-10 08:37:21 UTC (rev 1199)
@@ -55,7 +55,10 @@
 for i in range(10):
     browser.visit(url_form) # va sur form saisie notes
     add_to_notes(1)
-    time.sleep(1)
+    #time.sleep(1)
     browser.visit(url_form) # va sur form saisie notes
     add_to_notes(-1)
-    time.sleep(1)
+    #time.sleep(1)
+
+t1 = time.time()
+print 'done in %gs' % (t1-t0)

Added: trunk/tests/test-jury.py
===================================================================
--- trunk/tests/test-jury.py	                        (rev 0)
+++ trunk/tests/test-jury.py	2013-03-10 08:37:21 UTC (rev 1199)
@@ -0,0 +1,44 @@
+# -*- mode: python -*-
+# -*- coding: iso8859-15 -*-
+
+"""Modification decision de jury
+"""
+from common import *
+# -> ici on est sur la page d'accueil du departement !
+DeptURL = browser.url
+
+# Cherche un formsemestre_id:
+links = browser.find_link_by_partial_text('DUT')
+u = links[0]['href']
+formsemestre_id = re.search( r'formsemestre_id=(SEM[0-9]*)', u ).group(1)
+
+# Cherche les etudids
+browser.visit( urlparse.urljoin(DeptURL, 'formsemestre_recapcomplet?modejury=1&hidemodules=1&formsemestre_id=' + formsemestre_id) )
+
+#u = browser.find_link_by_partial_href('formsemestre_bulletinetud')[0]['href']
+#etudid = re.search( r'etudid=([A-Za-z0-9]*)', u ).group(1)
+
+L = browser.find_link_by_partial_href('formsemestre_bulletinetud')
+etudids = [ re.search(r'etudid=([A-Za-z0-9_]*)', x['href']).group(1) for x in L ]
+
+def suppress_then_set( etudid, formsemestre_id, code='ADM' ):
+    """Supprime decision de jury pour cet étudiant dans ce semestre
+    puis saisie de la decision (manuelle) indiquée par code
+    """
+    # Suppression décision existante
+    browser.visit( urlparse.urljoin(DeptURL, 'formsemestre_validation_suppress_etud?etudid=%s&formsemestre_id=%s&dialog_confirmed=1' % (etudid, formsemestre_id)))
+    
+    # Saisie décision
+    browser.visit( urlparse.urljoin(DeptURL, 'formsemestre_validation_etud_form?etudid=%s&formsemestre_id=%s' % (etudid, formsemestre_id)))
+    browser.fill('code_etat', [code])
+    browser.find_by_name('formvalidmanu_submit').first.click()
+    # pas de verification de la page résultat
+
+# Change decisions de jury de tous les etudiants:
+for etudid in etudids:
+    print 'decision pour %s' % etudid
+    suppress_then_set( etudid, formsemestre_id, code='ADM')
+
+t1 = time.time()
+print '%d etudiants traites en %gs' % (len(etudids),t1-t0)
+


Plus d'informations sur la liste de diffusion Scodoc-devel