1
Skills gradebook for multiple term sections
2
===========================================
6
>>> manager = browsers.manager
7
>>> manager.ui.login('manager', 'schooltool')
11
>>> manager.ui.person.add('Jeffrey', 'Elkner', 'jeffrey', 'pwd')
12
>>> manager.ui.person.add('Camila', 'Cerna', 'camila', 'pwd')
13
>>> manager.ui.person.add('Liliana', 'Vividor', 'liliana', 'pwd')
14
>>> manager.ui.person.add('Mario', 'Tejada', 'mario', 'pwd')
16
Set up a multiple term section:
18
>>> manager.ui.schoolyear.add('2012', '2012-01-01', '2012-12-31')
19
>>> manager.ui.term.add('2012', 'Q1', '2012-01-01', '2012-03-31')
20
>>> manager.ui.term.add('2012', 'Q2', '2012-04-01', '2012-06-30')
21
>>> manager.ui.term.add('2012', 'Q3', '2012-07-01', '2012-09-30')
22
>>> manager.ui.term.add('2012', 'Q4', '2012-10-01', '2012-12-31')
23
>>> manager.ui.course.add('2012', 'Programming', course_id='PRO')
24
>>> manager.ui.section.add('2012', 'Q1', 'Programming', ends='Q4')
25
>>> manager.ui.section.instructors.add('2012', 'Q1', 'Programming (1)',
27
>>> manager.ui.section.students.add('2012', 'Q1', 'Programming (1)',
28
... ['camila', 'liliana', 'mario'])
32
>>> manager.ui.layer.add('Course')
33
>>> manager.ui.node.add('Programming', label='PRO')
35
>>> manager.ui.skillset.add('Python Environment', '01')
37
>>> manager.ui.skill.add(
38
... 'Python Environment',
39
... 'Use the Python shell for interactive evaluation',
41
>>> manager.ui.skill.add(
42
... 'Python Environment',
43
... 'Make Python scripts with a text editor',
47
>>> manager.query.link('Search').click()
48
>>> manager.query.button('Search').click()
49
>>> manager.query.link('Programming').click()
51
>>> sel = '//h2[contains(@class, "ui-accordion-header")]'
52
>>> accordion_headers = manager.query_all.xpath(sel)
53
>>> sel = 'div.ui-accordion-content'
54
>>> accordion_contents = manager.query_all.css(sel)
55
>>> information_accordion_content = accordion_contents[0]
56
>>> skillsets_accordion_header = accordion_headers[4]
57
>>> skillsets_accordion_header.click()
58
>>> skillsets_accordion_content = accordion_contents[4]
59
>>> manager.wait_no(information_accordion_content.is_displayed)
60
>>> sel = '//a[@title="Edit skillsets"]'
61
>>> manager.query.xpath(sel).click()
62
>>> manager.query.id('form-buttons-add').click()
63
>>> manager.query.link('Done').click()
65
>>> sel = '//h2[contains(@class, "ui-accordion-header")]'
66
>>> accordion_headers = manager.query_all.xpath(sel)
67
>>> sel = 'div.ui-accordion-content'
68
>>> accordion_contents = manager.query_all.css(sel)
69
>>> information_accordion_content = accordion_contents[0]
70
>>> layers_accordion_header = accordion_headers[3]
71
>>> layers_accordion_header.click()
72
>>> layers_accordion_content = accordion_contents[3]
73
>>> manager.wait_no(information_accordion_content.is_displayed)
74
>>> sel = '//a[@title="Edit layers"]'
75
>>> manager.query.xpath(sel).click()
76
>>> manager.query.id('form-buttons-add').click()
78
Assign the skills to the course:
80
>>> manager.query.link('School').click()
81
>>> manager.query.link('Courses').click()
82
>>> manager.query.link('Batch Assign Skills').click()
83
>>> manager.query.name('course_attr').ui.set_value('Course ID')
84
>>> manager.query.name('layer').ui.set_value('Course')
85
>>> manager.query.name('node_attr').ui.set_value('Label')
86
>>> manager.query.name('SEARCH_BUTTON').click()
87
>>> manager.query.name('ASSIGN_BUTTON').click()
89
Log in as instructor and grade some skills in the first term section:
91
>>> teacher = browsers.teacher
92
>>> teacher.ui.login('jeffrey', 'pwd')
93
>>> teacher.query.link('CanDo').click()
95
>>> teacher.ui.gradebook.worksheet.score('Cerna, Camila', '01', '3')
96
>>> teacher.ui.gradebook.worksheet.score('Tejada, Mario', '01', '4')
97
>>> teacher.ui.gradebook.worksheet.score('Cerna, Camila', '02', '3')
98
>>> teacher.ui.gradebook.worksheet.score('Tejada, Mario', '02', '3')
99
>>> teacher.query.name('UPDATE_SUBMIT').click()
101
>>> teacher.ui.gradebook.worksheet.pprint()
102
+--------------------------+
103
| *01: Python Environment* |
104
+--------------------------+
105
+------------------+----+----+
108
+------------------+----+----+
109
| Cerna, Camila | 3 | 3 |
110
| Tejada, Mario | 4 | 3 |
111
| Vividor, Liliana | | |
112
+------------------+----+----+
114
Now, let's go to the following terms section and see the most recent
117
>>> navigator = teacher.query_all.css('.refine .navigator')[1]
118
>>> page = teacher.query.tag('html')
119
>>> navigator.ui.set_value('Q2')
120
>>> teacher.wait(lambda: page.expired)
121
>>> teacher.ui.gradebook.worksheet.pprint()
122
+--------------------------+
123
| *01: Python Environment* |
124
+--------------------------+
125
+------------------+----+----+
128
+------------------+----+----+
129
| Cerna, Camila | 3 | 3 |
130
| Tejada, Mario | 4 | 3 |
131
| Vividor, Liliana | | |
132
+------------------+----+----+
134
>>> navigator = teacher.query_all.css('.refine .navigator')[1]
135
>>> page = teacher.query.tag('html')
136
>>> navigator.ui.set_value('Q4')
137
>>> teacher.wait(lambda: page.expired)
138
>>> teacher.ui.gradebook.worksheet.pprint()
139
+--------------------------+
140
| *01: Python Environment* |
141
+--------------------------+
142
+------------------+----+----+
145
+------------------+----+----+
146
| Cerna, Camila | 3 | 3 |
147
| Tejada, Mario | 4 | 3 |
148
| Vividor, Liliana | | |
149
+------------------+----+----+
151
Let's go to the Q3 term and grade some skills there:
153
>>> navigator = teacher.query_all.css('.refine .navigator')[1]
154
>>> page = teacher.query.tag('html')
155
>>> navigator.ui.set_value('Q3')
156
>>> teacher.wait(lambda: page.expired)
158
>>> teacher.ui.gradebook.worksheet.score('Cerna, Camila', '01', '2')
159
>>> teacher.ui.gradebook.worksheet.score('Vividor, Liliana', '01', '1')
160
>>> teacher.ui.gradebook.worksheet.score('Tejada, Mario', '02', '')
161
>>> teacher.query.name('UPDATE_SUBMIT').click()
162
>>> teacher.ui.gradebook.worksheet.pprint()
163
+--------------------------+
164
| *01: Python Environment* |
165
+--------------------------+
166
+------------------+----+----+
169
+------------------+----+----+
170
| Cerna, Camila | 2 | 3 |
171
| Tejada, Mario | 4 | |
172
| Vividor, Liliana | 1 | |
173
+------------------+----+----+
175
If we go back to the Q4 section, we'll see some grades from the Q1
176
section and some from the Q3 section:
178
>>> navigator = teacher.query_all.css('.refine .navigator')[1]
179
>>> page = teacher.query.tag('html')
180
>>> navigator.ui.set_value('Q4')
181
>>> teacher.wait(lambda: page.expired)
182
>>> teacher.ui.gradebook.worksheet.pprint()
183
+--------------------------+
184
| *01: Python Environment* |
185
+--------------------------+
186
+------------------+----+----+
189
+------------------+----+----+
190
| Cerna, Camila | 2 | 3 |
191
| Tejada, Mario | 4 | |
192
| Vividor, Liliana | 1 | |
193
+------------------+----+----+