From c28e67732eac9342981a11a2b3121bed7f98e5e3 Mon Sep 17 00:00:00 2001 From: Jeremy Bowman Date: Wed, 15 Mar 2017 14:32:51 -0400 Subject: [PATCH] PLAT-1198 Fix flaky navigation buttons test --- common/test/acceptance/pages/lms/courseware.py | 9 +++++++++ common/test/acceptance/tests/lms/test_lms_courseware.py | 1 - 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/common/test/acceptance/pages/lms/courseware.py b/common/test/acceptance/pages/lms/courseware.py index ef5381a49b..d3807324da 100644 --- a/common/test/acceptance/pages/lms/courseware.py +++ b/common/test/acceptance/pages/lms/courseware.py @@ -115,8 +115,17 @@ class CoursewarePage(CoursePage): Arguments: sequential_position (int): position in sequential bar """ + def is_at_new_position(): + """ + Returns whether the specified tab has become active. It is defensive + against the case where the page is still being loaded. + """ + active_tab = self._active_sequence_tab + return active_tab and int(active_tab.attrs('data-element')[0]) == sequential_position + sequential_position_css = '#sequence-list #tab_{0}'.format(sequential_position - 1) self.q(css=sequential_position_css).first.click() + EmptyPromise(is_at_new_position, "Position navigation fulfilled").fulfill() @property def sequential_position(self): diff --git a/common/test/acceptance/tests/lms/test_lms_courseware.py b/common/test/acceptance/tests/lms/test_lms_courseware.py index 3299e7094e..a691a69d81 100644 --- a/common/test/acceptance/tests/lms/test_lms_courseware.py +++ b/common/test/acceptance/tests/lms/test_lms_courseware.py @@ -436,7 +436,6 @@ class CoursewareMultipleVerticalsTest(UniqueCourseTest, EventsTestMixin): self.courseware_page.visit() self.course_nav = CourseNavPage(self.browser) - @flaky # TODO: fix this, see TNL-5762 def test_navigation_buttons(self): # start in first section self.assert_navigation_state('Test Section 1', 'Test Subsection 1,1', 0, next_enabled=True, prev_enabled=False)