本文整理匯總了Python中staxing.helper.Teacher.add_assignment方法的典型用法代碼示例。如果您正苦於以下問題:Python Teacher.add_assignment方法的具體用法?Python Teacher.add_assignment怎麽用?Python Teacher.add_assignment使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類staxing.helper.Teacher
的用法示例。
在下文中一共展示了Teacher.add_assignment方法的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: TestStaxingTutorTeacher
# 需要導入模塊: from staxing.helper import Teacher [as 別名]
# 或者: from staxing.helper.Teacher import add_assignment [as 別名]
class TestStaxingTutorTeacher(unittest.TestCase):
"""Staxing case tests."""
def setUp(self):
"""Pretest settings."""
self.teacher = Teacher(use_env_vars=True)
self.teacher.username = os.getenv('TEACHER_USER_MULTI',
self.teacher.username)
self.teacher.set_window_size(height=700, width=1200)
self.teacher.login()
self.teacher.select_course(title='High School Physics')
def tearDown(self):
"""Test destructor."""
try:
self.teacher.driver.quit()
except:
pass
@pytest.mark.skipif(str(301) not in TESTS, reason='Excluded')
def test_add_reading_assignment_individual_publish(self):
"""Build reading assignments."""
# Reading, individual periods, publish
assignment_title = 'Reading-%s' % Assignment.rword(5)
left = randint(5, 20)
right = left + randint(1, 10)
start_date_1 = self.teacher.date_string(day_delta=left)
end_date_1 = self.teacher.date_string(day_delta=left + right)
start_date_2 = self.teacher.date_string(day_delta=left + 1)
end_date_2 = self.teacher.date_string(day_delta=left + right + 1)
start_time_2 = '6:30 am'
end_time_2 = '11:59 pm'
start_date_3 = self.teacher.date_string(day_delta=left + 2)
end_date_3 = self.teacher.date_string(day_delta=left + right + 2)
reading_options = self.teacher.get_book_sections()
reading_start = randint(0, (len(reading_options) - 1))
reading_end = reading_start + randint(1, 5)
reading_list = reading_options[reading_start:reading_end]
self.teacher.add_assignment(
assignment='reading',
args={
'title': assignment_title,
'description': 'Staxing test reading - individual periods - ' +
'publish',
'periods': {
'First': (start_date_1, end_date_1),
'Second': ((start_date_2, start_time_2),
(end_date_2, end_time_2)),
'Third': (start_date_3, end_date_3),
},
'reading_list': reading_list,
'status': 'publish',
'break_point': None,
}
)
assert('courses' in self.teacher.current_url()), \
'Not at dashboard'
self.teacher.rotate_calendar(end_date_1)
reading = self.teacher.find(
By.XPATH,
'//label[text()="%s"]' % assignment_title
)
time.sleep(5.0)
assert(reading), '%s not publishing on %s' % (assignment_title,
end_date_3)
@pytest.mark.skipif(str(302) not in TESTS, reason='Excluded')
def test_add_reading_assignment_all_publish(self):
"""Build reading assignments."""
# Reading, all periods, publish
assignment_title = 'Reading-%s' % Assignment.rword(5)
left = randint(5, 20)
right = left + randint(1, 10)
start_date_1 = self.teacher.date_string(day_delta=left)
end_date_1 = self.teacher.date_string(day_delta=left + right)
start_date_2 = self.teacher.date_string(day_delta=left + 1)
end_date_2 = self.teacher.date_string(day_delta=left + right + 1)
reading_options = self.teacher.get_book_sections()
reading_start = randint(0, (len(reading_options) - 1))
reading_end = reading_start + randint(1, 5)
reading_list = reading_options[reading_start:reading_end]
self.teacher.add_assignment(
assignment='reading',
args={
'title': assignment_title,
'description': 'Staxing test reading - all periods - publish',
'periods': {
'First': (start_date_1, end_date_1),
'all': (start_date_2, end_date_2),
},
'reading_list': reading_list,
'status': 'publish',
'break_point': None,
}
)
assert('courses' in self.teacher.current_url()), \
'Not at dashboard'
self.teacher.rotate_calendar(end_date_1)
reading = self.teacher.find(
By.XPATH,
#.........這裏部分代碼省略.........
示例2: TestViewTheCalendarDashboard
# 需要導入模塊: from staxing.helper import Teacher [as 別名]
# 或者: from staxing.helper.Teacher import add_assignment [as 別名]
#.........這裏部分代碼省略.........
self.teacher.find(By.CLASS_NAME, 'viewTeacherPerformanceForecast'). \
find_element_by_tag_name('a'). \
click()
self.teacher.page.wait_for_page_load()
assert('guide' in self.teacher.current_url()), \
'Not viewing the performance forecast'
self.ps.test_updates['passed'] = True
# Case C7983 - 006 - Teacher | View a reading assignment summary
@pytest.mark.skipif(str(7983) not in TESTS, reason='Excluded')
def test_teacher_view_a_reading_assignment_summary_7983(self):
"""View a reading assignment summary.
Steps:
If the user has more than one course, click on a Tutor course name
Create a reading assignment
Click on the reading assignment on the calendar
Expected Result:
The teacher is presented with the reading assignment summary
"""
self.ps.test_updates['name'] = 't1.13.006' \
+ inspect.currentframe().f_code.co_name[4:]
self.ps.test_updates['tags'] = ['t1', 't1.13', 't1.13.006', '7983']
self.ps.test_updates['passed'] = False
# self.teacher.select_course(appearance='physics')
# create an assignment
assignment_name = 'reading-%s' % randint(100, 999)
today = datetime.date.today()
begin = (today + datetime.timedelta(days=2)).strftime('%m/%d/%Y')
end = (today + datetime.timedelta(days=5)).strftime('%m/%d/%Y')
self.teacher.add_assignment(
assignment='reading',
args={
'title': assignment_name,
'description': 'description',
'periods': {'all': (begin, end)},
'reading_list': ['1.1'],
'status': 'publish',
}
)
# click on assignment
self.teacher.wait.until(
expect.presence_of_element_located(
(By.XPATH, '//label[contains(text(), "%s")]' % assignment_name)
)
).click()
# check that it opened
self.teacher.wait.until(
expect.presence_of_element_located(
(By.XPATH,
'//*[@class="modal-title" and ' +
'contains(text(), "%s")]' % assignment_name)
)
)
self.ps.test_updates['passed'] = True
# Case C7984 - 007 - Teacher | View a homework assignment summary
@pytest.mark.skipif(str(7984) not in TESTS, reason='Excluded')
def test_teacher_view_a_homework_assignment_summary_7984(self):
"""View a homework assignment summary.
Steps:
示例3: TestCreateNewQuestionAndAssignmentTypes
# 需要導入模塊: from staxing.helper import Teacher [as 別名]
# 或者: from staxing.helper.Teacher import add_assignment [as 別名]
#.........這裏部分代碼省略.........
def test_teacher_each_part_of_a_multipart_question_counts_as_14743(self):
"""Multi-part questions count as seperate problems when scored.
Steps:
Go to Tutor
Click on the 'Login' button
Log in as teacher03
Click "College Introduction to Sociology"
Go to "Student Scores"
Pick a homework that has multipart question
Click "Review"
Expected Result:
There is a breadcrumb for each part of a multipart question
"""
self.ps.test_updates['name'] = 't2.12.004' \
+ inspect.currentframe().f_code.co_name[4:]
self.ps.test_updates['tags'] = ['t2', 't2.12', 't2.12.004', '14743']
self.ps.test_updates['passed'] = False
# Test steps and verification assertions
# create a hw with a multi part question, and gice it a randomized name
# ID: [email protected] is multi part
self.teacher.login()
self.teacher.find(
By.XPATH,
'//div[@data-appearance="intro_sociology"]' +
'//a[not(contains(@href,"/cc-dashboard"))]'
).click()
assignment_name = "homework-%s" % randint(100, 999)
today = datetime.date.today()
begin = (today + datetime.timedelta(days=0)).strftime('%m/%d/%Y')
end = (today + datetime.timedelta(days=100)).strftime('%m/%d/%Y')
self.teacher.add_assignment(
assignment='homework',
args={
'title': assignment_name,
'description': 'description',
'periods': {'all': (begin, end)},
'problems': {'1.1': ['[email protected]'], },
'status': 'publish',
}
)
self.teacher.open_user_menu()
self.teacher.find(
By.LINK_TEXT, 'Student Scores'
).click()
self.teacher.page.wait_for_page_load()
# can just click the first review because assignemnt just created
# and should be the most recent one
self.teacher.find(
By.LINK_TEXT, 'Review'
).click()
cards = self.teacher.find_all(
By.XPATH, '//div[contains(@class,"card-body")]')
questions = self.teacher.find_all(
By.XPATH, '//div[contains(@class,"openstax-question")]')
breadcrumbs = self.teacher.find_all(
By.XPATH, '//span[contains(@class,"openstax-breadcrumb")]')
assert(len(questions) == len(breadcrumbs)), \
'breadcrumbs and questions not equal'
assert(len(cards) < len(breadcrumbs)), \
'multipart question card has multiple questions,' + \
'not matching up with breadcrumbs'
self.ps.test_updates['passed'] = True
示例4: TestSimplifyAndImproveReadings
# 需要導入模塊: from staxing.helper import Teacher [as 別名]
# 或者: from staxing.helper.Teacher import add_assignment [as 別名]
class TestSimplifyAndImproveReadings(unittest.TestCase):
"""T2.13 - Simplify and Improve Readings."""
def setUp(self):
"""Pretest settings."""
self.ps = PastaSauce()
self.desired_capabilities["name"] = self.id()
self.teacher = Teacher(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities)
# create a reading for the student to work
self.teacher.login()
self.assignment_name = "t1.18 reading-%s" % randint(100, 999)
today = datetime.date.today()
begin = today.strftime("%m/%d/%Y")
end = (today + datetime.timedelta(days=randint(1, 10))).strftime("%m/%d/%Y")
self.teacher.add_assignment(
assignment="reading",
args={
"title": self.assignment_name,
"description": chomsky(),
"periods": {"all": (begin, end)},
"reading_list": ["1.1", "1.2"],
"status": "publish",
},
)
self.teacher.wait.until(
expect.visibility_of_element_located((By.XPATH, '//div[contains(@class,"calendar-container")]'))
)
self.teacher.logout()
# login as a student to work the reading
self.student = Student(
existing_driver=self.teacher.driver,
use_env_vars=True,
pasta_user=self.ps,
capabilities=self.desired_capabilities,
)
self.student.login()
self.student.wait.until(expect.visibility_of_element_located((By.LINK_TEXT, "This Week")))
reading = self.student.driver.find_element(By.XPATH, '//span[text()="%s"]' % self.assignment_name)
self.teacher.driver.execute_script("return arguments[0].scrollIntoView();", reading)
self.teacher.driver.execute_script("window.scrollBy(0, -80);")
reading.click()
def tearDown(self):
"""Test destructor."""
self.ps.update_job(job_id=str(self.teacher.driver.session_id), **self.ps.test_updates)
self.student = None
try:
self.teacher.delete()
except:
pass
# 14745 - 001 - Student | Relative size and progress are displayed while
# working a reading assignment
@pytest.mark.skipif(str(14745) not in TESTS, reason="Excluded")
def test_student_relative_size_and_progress_are_displayed_whil_14745(self):
"""Size and progress are displayed while working a reading.
Steps:
Go to Tutor
Click on the 'Login' button
Enter the student user account in the username and password text boxes
Click on the 'Sign in' button
If the user has more than one course, click on a Tutor course name
Click on a reading assignment
Click on the right arrow
Expected Result:
The progress bar at the top reflects how far along you are as you work
through the reading assignment
"""
self.ps.test_updates["name"] = "t2.13.001" + inspect.currentframe().f_code.co_name[4:]
self.ps.test_updates["tags"] = ["t2", "t2.13", "t2.13.001", "14745"]
self.ps.test_updates["passed"] = False
# Test steps and verification assertions
self.student.driver.find_element(By.XPATH, '//div[contains(@class,"progress-bar progress-bar-success")]')
self.ps.test_updates["passed"] = True
# 14746 - 002 - Student | Access prior milestones in the reading assignment
# with breadcrumbs
@pytest.mark.skipif(str(14746) not in TESTS, reason="Excluded")
def test_student_access_prior_milestones_in_the_reading_assign_14746(self):
"""Access prior milestones in the reading assignment with breadcrumbs.
Steps:
If the user has more than one course, click on a Tutor course name
Click on a reading assignment
Click on the icon next to the calendar on the header
Expected Result:
The user is presented with prior milestones
"""
self.ps.test_updates["name"] = "t2.13.002" + inspect.currentframe().f_code.co_name[4:]
self.ps.test_updates["tags"] = ["t2", "t2.13", "t2.13.002", "14746"]
self.ps.test_updates["passed"] = False
# Test steps and verification assertions
self.student.find(By.CSS_SELECTOR, "a.paging-control.next").click()
self.student.sleep(1)
#.........這裏部分代碼省略.........