diff --git a/common/test/acceptance/pages/lms/__init__.py b/common/test/acceptance/pages/lms/__init__.py index 76a1b94530..93720833c1 100644 --- a/common/test/acceptance/pages/lms/__init__.py +++ b/common/test/acceptance/pages/lms/__init__.py @@ -1,3 +1,8 @@ +""" +Package of lms page objects for acceptance tests +""" +from __future__ import absolute_import + import os # Get the URL of the instance under test diff --git a/common/test/acceptance/pages/lms/account_settings.py b/common/test/acceptance/pages/lms/account_settings.py index 30e21e6c6e..486d704839 100644 --- a/common/test/acceptance/pages/lms/account_settings.py +++ b/common/test/acceptance/pages/lms/account_settings.py @@ -1,6 +1,8 @@ """ Base class for account settings page. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from bok_choy.promise import EmptyPromise diff --git a/common/test/acceptance/pages/lms/admin.py b/common/test/acceptance/pages/lms/admin.py index 214b7cebc3..7029fddced 100644 --- a/common/test/acceptance/pages/lms/admin.py +++ b/common/test/acceptance/pages/lms/admin.py @@ -1,7 +1,10 @@ """ Pages object for the Django's /admin/ views. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject + from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/annotation_component.py b/common/test/acceptance/pages/lms/annotation_component.py index 2a389d7a4f..be3f50d366 100644 --- a/common/test/acceptance/pages/lms/annotation_component.py +++ b/common/test/acceptance/pages/lms/annotation_component.py @@ -1,6 +1,8 @@ """ Annotation Component Page. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from selenium.webdriver import ActionChains diff --git a/common/test/acceptance/pages/lms/bookmarks.py b/common/test/acceptance/pages/lms/bookmarks.py index 4d2c547e16..5e87cfcedb 100644 --- a/common/test/acceptance/pages/lms/bookmarks.py +++ b/common/test/acceptance/pages/lms/bookmarks.py @@ -2,6 +2,8 @@ Courseware Boomarks """ +from __future__ import absolute_import + from common.test.acceptance.pages.common.paging import PaginatedUIMixin from common.test.acceptance.pages.lms.course_page import CoursePage diff --git a/common/test/acceptance/pages/lms/catalog.py b/common/test/acceptance/pages/lms/catalog.py index ad1335266f..7f275d09b4 100644 --- a/common/test/acceptance/pages/lms/catalog.py +++ b/common/test/acceptance/pages/lms/catalog.py @@ -1,3 +1,8 @@ +""" +Course catalog page +""" +from __future__ import absolute_import + import re from bok_choy.page_object import PageObject diff --git a/common/test/acceptance/pages/lms/ccx_dashboard_page.py b/common/test/acceptance/pages/lms/ccx_dashboard_page.py index f802bb5774..251d07d468 100644 --- a/common/test/acceptance/pages/lms/ccx_dashboard_page.py +++ b/common/test/acceptance/pages/lms/ccx_dashboard_page.py @@ -2,6 +2,8 @@ """ CCX coach dashboard page """ +from __future__ import absolute_import + from bok_choy.promise import EmptyPromise from common.test.acceptance.pages.lms.course_page import CoursePage diff --git a/common/test/acceptance/pages/lms/certificate_page.py b/common/test/acceptance/pages/lms/certificate_page.py index d9007998c9..41688657c7 100644 --- a/common/test/acceptance/pages/lms/certificate_page.py +++ b/common/test/acceptance/pages/lms/certificate_page.py @@ -3,6 +3,8 @@ Module for Certificates pages. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/conditional.py b/common/test/acceptance/pages/lms/conditional.py index f7ac87dd7b..37938d4d98 100644 --- a/common/test/acceptance/pages/lms/conditional.py +++ b/common/test/acceptance/pages/lms/conditional.py @@ -1,8 +1,10 @@ """ Conditional Pages """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject -from bok_choy.promise import EmptyPromise, BrokenPromise +from bok_choy.promise import BrokenPromise, EmptyPromise POLL_ANSWER = 'Yes, of course' diff --git a/common/test/acceptance/pages/lms/course_about.py b/common/test/acceptance/pages/lms/course_about.py index 61a6df1a4f..6434a49aed 100644 --- a/common/test/acceptance/pages/lms/course_about.py +++ b/common/test/acceptance/pages/lms/course_about.py @@ -2,6 +2,8 @@ Course about page (with registration button) """ +from __future__ import absolute_import + from common.test.acceptance.pages.lms.course_page import CoursePage from common.test.acceptance.pages.lms.login_and_register import RegisterPage diff --git a/common/test/acceptance/pages/lms/course_home.py b/common/test/acceptance/pages/lms/course_home.py index e8ebccd4af..bdf62c2deb 100644 --- a/common/test/acceptance/pages/lms/course_home.py +++ b/common/test/acceptance/pages/lms/course_home.py @@ -2,6 +2,8 @@ LMS Course Home page object """ +from __future__ import absolute_import + from collections import OrderedDict from bok_choy.page_object import PageObject diff --git a/common/test/acceptance/pages/lms/course_info.py b/common/test/acceptance/pages/lms/course_info.py index abb773f439..175d2a16fa 100644 --- a/common/test/acceptance/pages/lms/course_info.py +++ b/common/test/acceptance/pages/lms/course_info.py @@ -2,6 +2,8 @@ Course info page. """ +from __future__ import absolute_import + from common.test.acceptance.pages.lms.course_page import CoursePage diff --git a/common/test/acceptance/pages/lms/course_page.py b/common/test/acceptance/pages/lms/course_page.py index f4f3241ac8..00f5e03b2c 100644 --- a/common/test/acceptance/pages/lms/course_page.py +++ b/common/test/acceptance/pages/lms/course_page.py @@ -2,6 +2,8 @@ Base class for pages in courseware. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/course_wiki.py b/common/test/acceptance/pages/lms/course_wiki.py index d44825b29a..a2dacb66bc 100644 --- a/common/test/acceptance/pages/lms/course_wiki.py +++ b/common/test/acceptance/pages/lms/course_wiki.py @@ -2,8 +2,10 @@ Wiki tab on courses """ +from __future__ import absolute_import + from common.test.acceptance.pages.lms.course_page import CoursePage -from common.test.acceptance.pages.studio.utils import type_in_codemirror, get_codemirror_value +from common.test.acceptance.pages.studio.utils import get_codemirror_value, type_in_codemirror class CourseWikiPage(CoursePage): diff --git a/common/test/acceptance/pages/lms/courseware.py b/common/test/acceptance/pages/lms/courseware.py index 7d966911d7..1b9f50abcb 100644 --- a/common/test/acceptance/pages/lms/courseware.py +++ b/common/test/acceptance/pages/lms/courseware.py @@ -2,11 +2,15 @@ Courseware page. """ +from __future__ import absolute_import + import re from bok_choy.page_object import PageObject, unguarded from bok_choy.promise import EmptyPromise from selenium.webdriver.common.action_chains import ActionChains +from six.moves import range + from common.test.acceptance.pages.lms import BASE_URL from common.test.acceptance.pages.lms.bookmarks import BookmarksPage from common.test.acceptance.pages.lms.completion import CompletionOnViewMixin diff --git a/common/test/acceptance/pages/lms/courseware_search.py b/common/test/acceptance/pages/lms/courseware_search.py index 91a263bd54..dbd55fb8e4 100644 --- a/common/test/acceptance/pages/lms/courseware_search.py +++ b/common/test/acceptance/pages/lms/courseware_search.py @@ -2,6 +2,8 @@ Courseware search """ +from __future__ import absolute_import + from common.test.acceptance.pages.lms.course_page import CoursePage diff --git a/common/test/acceptance/pages/lms/create_mode.py b/common/test/acceptance/pages/lms/create_mode.py index d50e4630a1..61cdb65b98 100644 --- a/common/test/acceptance/pages/lms/create_mode.py +++ b/common/test/acceptance/pages/lms/create_mode.py @@ -1,9 +1,11 @@ """Mode creation page (used to add modes to courses during testing).""" +from __future__ import absolute_import + import re -import urllib from bok_choy.page_object import PageObject +import six.moves.urllib.parse # pylint: disable=import-error from common.test.acceptance.pages.lms import BASE_URL @@ -65,7 +67,7 @@ class ModeCreationPage(PageObject): course_id=self._course_id ) - query_string = urllib.urlencode(self._parameters) + query_string = six.moves.urllib.parse.urlencode(self._parameters) if query_string: url += '?' + query_string diff --git a/common/test/acceptance/pages/lms/dashboard.py b/common/test/acceptance/pages/lms/dashboard.py index 78457521bb..5dfc5faa4d 100644 --- a/common/test/acceptance/pages/lms/dashboard.py +++ b/common/test/acceptance/pages/lms/dashboard.py @@ -2,8 +2,11 @@ """ Student dashboard page. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from opaque_keys.edx.keys import CourseKey +from six.moves import range from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/dashboard_search.py b/common/test/acceptance/pages/lms/dashboard_search.py index e8de15d604..3e53c1490b 100644 --- a/common/test/acceptance/pages/lms/dashboard_search.py +++ b/common/test/acceptance/pages/lms/dashboard_search.py @@ -2,6 +2,8 @@ Dashboard search """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/discovery.py b/common/test/acceptance/pages/lms/discovery.py index 016b5f9c47..ccd3cb0e19 100644 --- a/common/test/acceptance/pages/lms/discovery.py +++ b/common/test/acceptance/pages/lms/discovery.py @@ -2,6 +2,8 @@ Course discovery page. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/discussion.py b/common/test/acceptance/pages/lms/discussion.py index 2f7700cc62..b94e358bd3 100644 --- a/common/test/acceptance/pages/lms/discussion.py +++ b/common/test/acceptance/pages/lms/discussion.py @@ -1,3 +1,8 @@ +""" +LMS discussion page +""" +from __future__ import absolute_import + from contextlib import contextmanager from bok_choy.javascript import wait_for_js diff --git a/common/test/acceptance/pages/lms/edxnotes.py b/common/test/acceptance/pages/lms/edxnotes.py index 4aea252095..339f86ce2a 100644 --- a/common/test/acceptance/pages/lms/edxnotes.py +++ b/common/test/acceptance/pages/lms/edxnotes.py @@ -1,3 +1,8 @@ +""" +LMS edxnotes page +""" +from __future__ import absolute_import + from bok_choy.page_object import PageLoadError, PageObject, unguarded from bok_choy.promise import BrokenPromise, EmptyPromise from selenium.webdriver.common.action_chains import ActionChains @@ -296,7 +301,7 @@ class EdxNotesPage(CoursePage, PaginatedUIMixin): """ tabs = self.q(css=".tabs .tab-label") if tabs: - return map(lambda x: x.replace("Current tab\n", ""), tabs.text) + return [x.replace("Current tab\n", "") for x in tabs.text] else: return None diff --git a/common/test/acceptance/pages/lms/fields.py b/common/test/acceptance/pages/lms/fields.py index f5322f515d..433645101a 100644 --- a/common/test/acceptance/pages/lms/fields.py +++ b/common/test/acceptance/pages/lms/fields.py @@ -2,6 +2,8 @@ """ Mixins for fields. """ +from __future__ import absolute_import + from bok_choy.promise import EmptyPromise from common.test.acceptance.tests.helpers import get_selected_option_text, select_option_by_text diff --git a/common/test/acceptance/pages/lms/find_courses.py b/common/test/acceptance/pages/lms/find_courses.py index e69d292937..b830ceb293 100644 --- a/common/test/acceptance/pages/lms/find_courses.py +++ b/common/test/acceptance/pages/lms/find_courses.py @@ -2,6 +2,8 @@ Find courses page (main page of the LMS). """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/index.py b/common/test/acceptance/pages/lms/index.py index e6dcb84d67..4e3f8b6f0a 100644 --- a/common/test/acceptance/pages/lms/index.py +++ b/common/test/acceptance/pages/lms/index.py @@ -2,6 +2,8 @@ """ LMS index (home) page. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/instructor_dashboard.py b/common/test/acceptance/pages/lms/instructor_dashboard.py index 6652e1726b..bc3f796f06 100644 --- a/common/test/acceptance/pages/lms/instructor_dashboard.py +++ b/common/test/acceptance/pages/lms/instructor_dashboard.py @@ -3,8 +3,11 @@ Instructor (2) dashboard page. """ +from __future__ import absolute_import + import os +import six from bok_choy.page_object import PageObject from bok_choy.promise import EmptyPromise, Promise @@ -120,7 +123,7 @@ class InstructorDashboardPage(CoursePage): def is_rescore_unsupported_message_visible(self): if (self.q(css='.request-response-error').present): - return u'This component cannot be rescored.' in unicode( + return u'This component cannot be rescored.' in six.text_type( self.q(css='.request-response-error').html ) return False @@ -1212,7 +1215,7 @@ class StudentAdminPage(PageObject): Returns input box for problem location """ input_box = self.problem_location_input.first.results[0] - input_box.send_keys(unicode(problem_location)) + input_box.send_keys(six.text_type(problem_location)) @property def student_email_or_username_input(self): diff --git a/common/test/acceptance/pages/lms/learner_profile.py b/common/test/acceptance/pages/lms/learner_profile.py index 26ad216b00..edd5c5326e 100644 --- a/common/test/acceptance/pages/lms/learner_profile.py +++ b/common/test/acceptance/pages/lms/learner_profile.py @@ -1,6 +1,8 @@ """ Bok-Choy PageObject class for learner profile page. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from bok_choy.promise import EmptyPromise from bok_choy.query import BrowserQuery diff --git a/common/test/acceptance/pages/lms/library.py b/common/test/acceptance/pages/lms/library.py index fe53112448..a8b5e646fa 100644 --- a/common/test/acceptance/pages/lms/library.py +++ b/common/test/acceptance/pages/lms/library.py @@ -1,6 +1,8 @@ """ Library Content XBlock Wrapper """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject diff --git a/common/test/acceptance/pages/lms/login.py b/common/test/acceptance/pages/lms/login.py index 2f948e2900..f59702c39e 100644 --- a/common/test/acceptance/pages/lms/login.py +++ b/common/test/acceptance/pages/lms/login.py @@ -2,6 +2,8 @@ Login page for the LMS. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from bok_choy.promise import EmptyPromise diff --git a/common/test/acceptance/pages/lms/login_and_register.py b/common/test/acceptance/pages/lms/login_and_register.py index c23fe7210d..f0da365b93 100644 --- a/common/test/acceptance/pages/lms/login_and_register.py +++ b/common/test/acceptance/pages/lms/login_and_register.py @@ -1,9 +1,10 @@ """Login and Registration pages """ -from urllib import urlencode +from __future__ import absolute_import from bok_choy.page_object import PageObject, unguarded from bok_choy.promise import EmptyPromise, Promise +from six.moves.urllib.parse import urlencode # pylint: disable=import-error from common.test.acceptance.pages.lms import BASE_URL from common.test.acceptance.pages.lms.dashboard import DashboardPage diff --git a/common/test/acceptance/pages/lms/matlab_problem.py b/common/test/acceptance/pages/lms/matlab_problem.py index ed02ca601d..96d44afe2b 100644 --- a/common/test/acceptance/pages/lms/matlab_problem.py +++ b/common/test/acceptance/pages/lms/matlab_problem.py @@ -1,6 +1,8 @@ """ Matlab Problem Page. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject diff --git a/common/test/acceptance/pages/lms/oauth2_confirmation.py b/common/test/acceptance/pages/lms/oauth2_confirmation.py index 8608142d36..44f0481d90 100644 --- a/common/test/acceptance/pages/lms/oauth2_confirmation.py +++ b/common/test/acceptance/pages/lms/oauth2_confirmation.py @@ -1,4 +1,6 @@ """Pages relevant for OAuth2 confirmation.""" +from __future__ import absolute_import + from bok_choy.page_object import PageObject from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/pay_and_verify.py b/common/test/acceptance/pages/lms/pay_and_verify.py index 8e97e9b22f..2930301b94 100644 --- a/common/test/acceptance/pages/lms/pay_and_verify.py +++ b/common/test/acceptance/pages/lms/pay_and_verify.py @@ -1,5 +1,7 @@ """Payment and verification pages""" +from __future__ import absolute_import + import re from bok_choy.page_object import PageObject diff --git a/common/test/acceptance/pages/lms/peer_calibrate.py b/common/test/acceptance/pages/lms/peer_calibrate.py index bbd6c5bc2f..49be75691c 100644 --- a/common/test/acceptance/pages/lms/peer_calibrate.py +++ b/common/test/acceptance/pages/lms/peer_calibrate.py @@ -3,6 +3,8 @@ Page that allows the student to grade calibration essays (requirement for being allowed to grade peers). """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from bok_choy.promise import Promise diff --git a/common/test/acceptance/pages/lms/peer_confirm.py b/common/test/acceptance/pages/lms/peer_confirm.py index 37d523b977..d97e3eef7f 100644 --- a/common/test/acceptance/pages/lms/peer_confirm.py +++ b/common/test/acceptance/pages/lms/peer_confirm.py @@ -2,6 +2,8 @@ Confirmation screen for peer calibration and grading. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from bok_choy.promise import Promise diff --git a/common/test/acceptance/pages/lms/peer_grade.py b/common/test/acceptance/pages/lms/peer_grade.py index 8a1aa6e160..46357a592d 100644 --- a/common/test/acceptance/pages/lms/peer_grade.py +++ b/common/test/acceptance/pages/lms/peer_grade.py @@ -2,6 +2,8 @@ Students grade peer submissions. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from bok_choy.promise import Promise diff --git a/common/test/acceptance/pages/lms/problem.py b/common/test/acceptance/pages/lms/problem.py index f690d1ec91..055dbbf287 100644 --- a/common/test/acceptance/pages/lms/problem.py +++ b/common/test/acceptance/pages/lms/problem.py @@ -1,6 +1,8 @@ """ Problem Page. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from selenium.webdriver.common.keys import Keys diff --git a/common/test/acceptance/pages/lms/programs.py b/common/test/acceptance/pages/lms/programs.py index 26695e485c..2f7e84c445 100644 --- a/common/test/acceptance/pages/lms/programs.py +++ b/common/test/acceptance/pages/lms/programs.py @@ -1,4 +1,6 @@ """LMS-hosted Programs pages""" +from __future__ import absolute_import + from uuid import uuid4 from bok_choy.page_object import PageObject diff --git a/common/test/acceptance/pages/lms/progress.py b/common/test/acceptance/pages/lms/progress.py index 5f689b3732..cec7914595 100644 --- a/common/test/acceptance/pages/lms/progress.py +++ b/common/test/acceptance/pages/lms/progress.py @@ -1,6 +1,10 @@ """ Student progress page """ +from __future__ import absolute_import + +from six.moves import map + from common.test.acceptance.pages.lms.course_page import CoursePage diff --git a/common/test/acceptance/pages/lms/staff_view.py b/common/test/acceptance/pages/lms/staff_view.py index 34976325ef..f3554129f2 100644 --- a/common/test/acceptance/pages/lms/staff_view.py +++ b/common/test/acceptance/pages/lms/staff_view.py @@ -1,6 +1,8 @@ """ Staff views of various tabs (e.g. courseware, course home) """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from common.test.acceptance.pages.lms.courseware import CoursewarePage diff --git a/common/test/acceptance/pages/lms/tab_nav.py b/common/test/acceptance/pages/lms/tab_nav.py index b001e7aa19..32b7a1f39e 100644 --- a/common/test/acceptance/pages/lms/tab_nav.py +++ b/common/test/acceptance/pages/lms/tab_nav.py @@ -2,6 +2,8 @@ High-level tab navigation. """ +from __future__ import absolute_import + from bok_choy.page_object import PageObject from bok_choy.promise import EmptyPromise, Promise diff --git a/common/test/acceptance/pages/lms/teams.py b/common/test/acceptance/pages/lms/teams.py index 849547f68b..6e495d2e2f 100644 --- a/common/test/acceptance/pages/lms/teams.py +++ b/common/test/acceptance/pages/lms/teams.py @@ -3,6 +3,8 @@ Teams pages. """ +from __future__ import absolute_import + from common.test.acceptance.pages.common.paging import PaginatedUIMixin from common.test.acceptance.pages.common.utils import click_css, confirm_prompt from common.test.acceptance.pages.lms.course_page import CoursePage diff --git a/common/test/acceptance/pages/lms/textbook_view.py b/common/test/acceptance/pages/lms/textbook_view.py index 11c0ad3036..0871cf1299 100644 --- a/common/test/acceptance/pages/lms/textbook_view.py +++ b/common/test/acceptance/pages/lms/textbook_view.py @@ -2,6 +2,8 @@ Course Textbooks page. """ +from __future__ import absolute_import + from bok_choy.promise import EmptyPromise from common.test.acceptance.pages.lms.course_page import CoursePage diff --git a/common/test/acceptance/pages/lms/track_selection.py b/common/test/acceptance/pages/lms/track_selection.py index 59e88853c1..4f519aa1e2 100644 --- a/common/test/acceptance/pages/lms/track_selection.py +++ b/common/test/acceptance/pages/lms/track_selection.py @@ -1,4 +1,6 @@ """Track selection page""" +from __future__ import absolute_import + from bok_choy.page_object import PageObject from common.test.acceptance.pages.lms import BASE_URL diff --git a/common/test/acceptance/pages/lms/video/video.py b/common/test/acceptance/pages/lms/video/video.py index 078c1330dc..fc9515e739 100644 --- a/common/test/acceptance/pages/lms/video/video.py +++ b/common/test/acceptance/pages/lms/video/video.py @@ -2,6 +2,8 @@ Video player in the courseware. """ +from __future__ import absolute_import + import json import logging import time @@ -11,6 +13,7 @@ from bok_choy.javascript import js_defined, wait_for_js from bok_choy.page_object import PageObject from bok_choy.promise import EmptyPromise, Promise from selenium.webdriver.common.action_chains import ActionChains +from six.moves import zip log = logging.getLogger('VideoPage') @@ -746,7 +749,7 @@ class VideoPage(PageObject): language_codes = self.q(css=languages_selector).attrs('data-lang-code') language_names = self.q(css=languages_selector).attrs('textContent') - return dict(zip(language_codes, language_names)) + return dict(list(zip(language_codes, language_names))) @property def position(self):