def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.teacher = Teacher( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) else: self.teacher = Teacher( use_env_vars=True ) self.wait = WebDriverWait(self.student.driver, Assignment.WAIT_TIME) self.teacher.login() # go to student scores self.teacher.select_course(appearance='biology') self.teacher.driver.find_element( By.LINK_TEXT, 'Student Scores').click() self.teacher.wait.until( expect.visibility_of_element_located( (By.XPATH, '//span[contains(text(), "Student Scores")]') ) ).click()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.admin = Admin(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) else: self.admin = Admin(use_env_vars=True, ) self.admin.login() # make sure there are no new terms to accept try: self.admin.driver.find_element(By.ID, 'i_agree').click() except NoSuchElementException: pass try: self.admin.driver.find_element(By.ID, 'agreement_submit').click() except NoSuchElementException: pass # go to admin console self.wait = WebDriverWait(self.admin.driver, 15) self.admin.open_user_menu() self.admin.wait.until( expect.element_to_be_clickable((By.LINK_TEXT, 'Admin'))).click() self.admin.page.wait_for_page_load() self.admin.driver.find_element( By.XPATH, '//a[contains(text(),"Legal")]').click()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.admin = Admin( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) self.content = ContentQA( existing_driver=self.admin.driver, use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) else: self.admin = Admin( use_env_vars=True ) self.content = ContentQA( use_env_vars=True, existing_driver=self.admin.driver ) self.wait = WebDriverWait(self.admin.driver, Assignment.WAIT_TIME) self.admin.login() self.wait.sleep(2) self.admin.goto_admin_control()
def setUp(self): """Pretest settings.""" if not LOCAL_RUN: self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.student = Student( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) self.teacher = Teacher( existing_driver=self.student.driver, use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) else: self.teacher = Teacher( use_env_vars=True ) self.student = Student( use_env_vars=True, existing_driver=self.teacher.driver, ) self.wait = WebDriverWait(self.student.driver, Assignment.WAIT_TIME)
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)
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.teacher = Teacher( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) self.student = Student( use_env_vars=True, existing_driver=self.teacher.driver, pasta_user=self.ps, capabilities=self.desired_capabilities ) self.admin = Admin( use_env_vars=True, existing_driver=self.teacher.driver, pasta_user=self.ps, capabilities=self.desired_capabilities ) else: self.teacher = Teacher( use_env_vars=True ) self.student = Student( use_env_vars=True, existing_driver=self.teacher.driver, ) self.admin = Admin( use_env_vars=True, existing_driver=self.teacher.driver, )
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.student = Student( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) else: self.student = Student( use_env_vars=True ) self.student.login() self.student.select_course(title='College Physics with Courseware') self.wait = WebDriverWait(self.student.driver, Assignment.WAIT_TIME) self.wait.until( expect.visibility_of_element_located(( By.XPATH, '//button[contains(@class,"practice")]' )) ).click() self.wait = WebDriverWait(self.student.driver, Assignment.WAIT_TIME) self.student.login()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.student = Student(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) self.student.login()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.content = ContentQA( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities, )
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) self.teacher.login() self.teacher.select_course(title='HS Physics')
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.user = User(username='', password='', pasta_user=self.ps, capabilities=self.desired_capabilities) self.user.get('https://qa.cnx.org/')
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) self.teacher.login() self.teacher.driver.find_element( By.XPATH, '//a[contains(@href,"/cc-dashboard")]').click()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.admin = Admin(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) self.admin.login() self.admin.goto_admin_control() self.admin.sleep(5)
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.teacher = Teacher(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) else: self.teacher = Teacher(use_env_vars=True) self.CONDENSED_WIDTH = 1105
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.student = Student( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) self.student.username = os.getenv('STUDENT_USER_CC') self.student.login() self.student.sleep(5) # for CNX redirect
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.teacher = Teacher(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) else: self.teacher = Teacher(use_env_vars=True) self.teacher.login() self.teacher.select_course(appearance='college_physics')
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 ) self.teacher.login() self.teacher.select_course(appearance='biology') self.teacher.find(By.PARTIAL_LINK_TEXT, 'Performance Forecast').click()
def setUp(self): """Pretest settings.""" # login as admin, go to user menu, click admin option self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.admin = Admin(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) else: self.admin = Admin(use_env_vars=True, ) self.admin.login() self.admin.goto_admin_control()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.teacher = Teacher(username=os.getenv('TEACHER_USER_CC'), password=os.getenv('TEACHER_PASSWORD'), pasta_user=self.ps, capabilities=self.desired_capabilities) else: self.teacher = Teacher( username=os.getenv('TEACHER_USER_CC'), password=os.getenv('TEACHER_PASSWORD'), ) self.teacher.login() if 'cc-dashboard' not in self.teacher.current_url(): courses = self.teacher.find_all(By.CLASS_NAME, 'tutor-booksplash-course-item') assert (courses), 'No courses found.' if not isinstance(courses, list): courses = [courses] course_id = randint(0, len(courses) - 1) self.course = courses[course_id].get_attribute('data-title') self.teacher.select_course(title=self.course) self.teacher.goto_course_roster() try: section = self.teacher.find_all( By.XPATH, '//*[contains(@class,"nav-tabs")]//a') if isinstance(section, list): section = '%s' % section[randint(0, len(section) - 1)].text else: section = '%s' % section.text except Exception: section = '%s' % randint(100, 999) self.teacher.add_course_section(section) self.code = self.teacher.get_enrollment_code(section) print('Course Phrase: ' + self.code) self.book_url = self.teacher.find( By.XPATH, '//a[span[contains(text(),"Online Book")]]').get_attribute('href') self.teacher.find(By.CSS_SELECTOR, 'button.close').click() self.teacher.sleep(0.5) self.teacher.logout() self.teacher.sleep(1) self.student = Student(use_env_vars=True, existing_driver=self.teacher.driver) self.first_name = Assignment.rword(6) self.last_name = Assignment.rword(8) self.email = self.first_name + '.' \ + self.last_name \ + '@tutor.openstax.org'
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.admin = Admin( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) else: self.admin = Admin( use_env_vars=True, )
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) self.teacher.login() self.teacher.select_course(appearance='physics') self.teacher.open_user_menu() self.teacher.wait.until( expect.element_to_be_clickable( (By.LINK_TEXT, 'Course Settings and Roster'))).click() self.teacher.page.wait_for_page_load()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.student = Student(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) self.student.login() self.student.select_course(appearance='physics') self.wait = WebDriverWait(self.student.driver, Assignment.WAIT_TIME) self.wait.until( expect.visibility_of_element_located( (By.XPATH, '//button[contains(@class,"practice")]//span'))).click()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.admin = Admin(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) self.admin.login() self.admin.wait = WebDriverWait(self.admin.driver, 15) self.admin.open_user_menu() self.admin.wait.until( expect.element_to_be_clickable((By.LINK_TEXT, 'Admin'))).click() self.admin.page.wait_for_page_load() self.admin.driver.find_element( By.XPATH, '//a[contains(text(),"Users")]').click()
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.teacher.driver.execute_script("window.resizeTo(1920,1080)") self.teacher.select_course(appearance='ap_biology') 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'], '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.select_course(appearance='ap_biology') self.student.wait.until( expect.visibility_of_element_located((By.LINK_TEXT, 'This Week'))) reading = self.student.driver.find_element( By.XPATH, '//div[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() self.student.driver.set_window_size(width=1300, height=1200)
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.admin = Admin(use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) self.content = ContentQA(existing_driver=self.admin.driver, use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) self.student = Student(existing_driver=self.admin.driver, use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities) self.teacher = Teacher(existing_driver=self.admin.driver, use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities)
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() if not LOCAL_RUN: self.teacher = Teacher( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) else: self.teacher = Teacher( use_env_vars=True ) self.teacher.login() self.teacher.driver.find_element( By.XPATH, '//p[contains(text(),"OpenStax Concept Coach")]' ).click()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.student = Student( use_env_vars=True, pasta_user=self.ps, capabilities=self.desired_capabilities ) self.teacher = Teacher( use_env_vars=True, existing_driver=self.student.driver, pasta_user=self.ps, capabilities=self.desired_capabilities ) self.teacher.login() # Create an external assignment for the student to work self.teacher.select_course(appearance='physics') self.teacher.wait.until( expect.visibility_of_element_located( (By.ID, 'add-assignment') ) ).click() self.teacher.find( By.PARTIAL_LINK_TEXT, 'Add External Assignment').click() assert('externals/new' in self.teacher.current_url()), \ 'Not on the add an external assignment page' self.teacher.find( By.XPATH, "//input[@id = 'reading-title']").send_keys('Epic 48') self.teacher.find( By.XPATH, "//textarea[@class='form-control empty']").send_keys( "instructions go here") self.teacher.find( By.XPATH, "//input[@id = 'hide-periods-radio']").click() # Choose the first date calendar[0], second is calendar[1] # and set the open date to today self.teacher.driver.find_elements_by_xpath( "//div[@class = 'datepicker__input-container']")[0].click() self.teacher.driver.find_element_by_xpath( "//div[@class = 'datepicker__day datepicker__day--today']").click() # Choose the second date calendar[1], first is calendar[0] self.teacher.driver.find_elements_by_xpath( "//div[@class = 'datepicker__input-container']")[1].click() while(self.teacher.find( By.XPATH, "//span[@class = 'datepicker__current-month']" ).text != 'December 2016'): self.teacher.find( By.XPATH, "//a[@class = 'datepicker__navigation datepicker__" + "navigation--next']").click() # Choose the due date of December 31, 2016 weekends = self.teacher.driver.find_elements_by_xpath( "//div[@class = 'datepicker__day datepicker__day--weekend']") for day in weekends: if day.text == '31': due = day due.click() break self.teacher.find(By.XPATH, "//input[@id='external-url']").send_keys( "google.com") self.teacher.sleep(5) # Publish the assignment self.teacher.find( By.XPATH, "//button[@class='async-button -publish btn btn-primary']").click() self.teacher.sleep(60) self.student.login()
def setUp(self): """Pretest settings.""" self.ps = PastaSauce() self.desired_capabilities['name'] = self.id() self.user = None