diff --git a/common/test/acceptance/tests/lms/test_account_settings.py b/common/test/acceptance/tests/lms/test_account_settings.py index acf550fc55..5fc63d2ccf 100644 --- a/common/test/acceptance/tests/lms/test_account_settings.py +++ b/common/test/acceptance/tests/lms/test_account_settings.py @@ -2,18 +2,18 @@ """ End-to-end tests for the Account Settings page. """ +from datetime import datetime from unittest import skip -from nose.plugins.attrib import attr from bok_choy.web_app_test import WebAppTest from bok_choy.page_object import XSS_INJECTION -from datetime import datetime +from flaky import flaky +from nose.plugins.attrib import attr from pytz import timezone, utc from common.test.acceptance.pages.lms.account_settings import AccountSettingsPage from common.test.acceptance.pages.lms.auto_auth import AutoAuthPage from common.test.acceptance.pages.lms.dashboard import DashboardPage - from common.test.acceptance.tests.helpers import EventsTestMixin @@ -216,8 +216,14 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest): self.assertEqual(self.account_settings_page.value_for_text_field(field_id), new_value) def _test_dropdown_field( - self, field_id, title, initial_value, new_values, success_message=SUCCESS_MESSAGE, reloads_on_save=False - ): + self, + field_id, + title, + initial_value, + new_values, + success_message=SUCCESS_MESSAGE, # pylint: disable=unused-argument + reloads_on_save=False + ): """ Test behaviour of a dropdown field. """ @@ -250,6 +256,7 @@ class AccountSettingsPageTest(AccountSettingsTestMixin, WebAppTest): """ self._test_readonly_field('username', 'Username', self.username) + @flaky def test_full_name_field(self): """ Test behaviour of "Full Name" field. diff --git a/common/test/acceptance/tests/lms/test_lms_courseware.py b/common/test/acceptance/tests/lms/test_lms_courseware.py index 282d037e63..8ccbaca604 100644 --- a/common/test/acceptance/tests/lms/test_lms_courseware.py +++ b/common/test/acceptance/tests/lms/test_lms_courseware.py @@ -7,6 +7,7 @@ import json from datetime import datetime, timedelta import ddt +from flaky import flaky from nose.plugins.attrib import attr from ..helpers import UniqueCourseTest, EventsTestMixin, auto_auth, create_multiple_choice_problem @@ -262,6 +263,7 @@ class ProctoredExamTest(UniqueCourseTest): LogoutPage(self.browser).visit() + @flaky @ddt.data(True, False) def test_timed_exam_flow(self, hide_after_due): """ diff --git a/common/test/acceptance/tests/lms/test_lms_matlab_problem.py b/common/test/acceptance/tests/lms/test_lms_matlab_problem.py index a880c47b68..d91453ac15 100644 --- a/common/test/acceptance/tests/lms/test_lms_matlab_problem.py +++ b/common/test/acceptance/tests/lms/test_lms_matlab_problem.py @@ -2,13 +2,15 @@ """ Test for matlab problems """ +from textwrap import dedent import time +from flaky import flaky + from common.test.acceptance.pages.lms.matlab_problem import MatlabProblemPage from common.test.acceptance.fixtures.course import XBlockFixtureDesc from common.test.acceptance.fixtures.xqueue import XQueueResponseFixture from common.test.acceptance.tests.lms.test_lms_problems import ProblemsTest -from textwrap import dedent class MatlabProblemTest(ProblemsTest): @@ -59,13 +61,14 @@ class MatlabProblemTest(ProblemsTest): self.assertEqual(matlab_problem_page.problem_name, 'Test Matlab Problem') return matlab_problem_page + @flaky def test_run_code(self): """ Test "Run Code" button functionality. """ # Enter a submission, which will trigger a pre-defined response from the XQueue stub. - self.submission = "a=1" + self.unique_id[0:5] + self.submission = "a=1" + self.unique_id[0:5] # pylint: disable=attribute-defined-outside-init self.xqueue_grade_response = {'msg': self.submission} diff --git a/common/test/acceptance/tests/studio/test_studio_course_info.py b/common/test/acceptance/tests/studio/test_studio_course_info.py index 78d5f901e8..3c22035831 100644 --- a/common/test/acceptance/tests/studio/test_studio_course_info.py +++ b/common/test/acceptance/tests/studio/test_studio_course_info.py @@ -1,6 +1,8 @@ """ Acceptance Tests for Course Information """ +from flaky import flaky + from common.test.acceptance.pages.studio.course_info import CourseUpdatesPage from common.test.acceptance.tests.studio.base_studio_test import StudioCourseTest @@ -77,6 +79,7 @@ class UsersCanAddUpdatesTest(StudioCourseTest): self.assertFalse(self.course_updates_page.is_first_update_message('Hello')) self.assertTrue(self.course_updates_page.is_first_update_message('Goodbye')) + @flaky def test_delete_course_update(self): """ Scenario: Users can delete updates