From 07f8b8e9c330b96ec43aa439c29f0c9e2d14089d Mon Sep 17 00:00:00 2001 From: Ben Patterson Date: Sat, 30 Jan 2016 16:55:24 -0500 Subject: [PATCH 1/2] Correct flaky condition on tooltip. --- common/test/acceptance/pages/lms/courseware.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/common/test/acceptance/pages/lms/courseware.py b/common/test/acceptance/pages/lms/courseware.py index b790aa821d..6f1c2fbc44 100644 --- a/common/test/acceptance/pages/lms/courseware.py +++ b/common/test/acceptance/pages/lms/courseware.py @@ -84,8 +84,10 @@ class CoursewarePage(CoursePage): """ for index, tab in enumerate(self.q(css='#sequence-list > li')): ActionChains(self.browser).move_to_element(tab).perform() - if not self.q(css='#tab_{index} > p'.format(index=index)).visible: - return False + self.wait_for_element_visibility( + '#tab_{index} > p'.format(index=index), + 'Tab {index} should appear'.format(index=index) + ) return True From 902126d55cadc05247ff62429a9c7becb6033b93 Mon Sep 17 00:00:00 2001 From: Ben Patterson Date: Tue, 2 Feb 2016 06:48:30 -0500 Subject: [PATCH 2/2] Clarify method intent. Use BrokenPromise rather than assert. --- common/test/acceptance/pages/lms/courseware.py | 8 ++++---- common/test/acceptance/tests/lms/test_lms.py | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/common/test/acceptance/pages/lms/courseware.py b/common/test/acceptance/pages/lms/courseware.py index 6f1c2fbc44..b4c72a4c1c 100644 --- a/common/test/acceptance/pages/lms/courseware.py +++ b/common/test/acceptance/pages/lms/courseware.py @@ -78,9 +78,11 @@ class CoursewarePage(CoursePage): else: return self.q(css=self.xblock_component_selector).attrs('innerHTML')[index].strip() - def tooltips_displayed(self): + def verify_tooltips_displayed(self): """ - Verify if sequence navigation bar tooltips are being displayed upon mouse hover. + Verify that all sequence navigation bar tooltips are being displayed upon mouse hover. + + If a tooltip does not appear, raise a BrokenPromise. """ for index, tab in enumerate(self.q(css='#sequence-list > li')): ActionChains(self.browser).move_to_element(tab).perform() @@ -89,8 +91,6 @@ class CoursewarePage(CoursePage): 'Tab {index} should appear'.format(index=index) ) - return True - @property def course_license(self): """ diff --git a/common/test/acceptance/tests/lms/test_lms.py b/common/test/acceptance/tests/lms/test_lms.py index c84e015ba1..a865332d48 100644 --- a/common/test/acceptance/tests/lms/test_lms.py +++ b/common/test/acceptance/tests/lms/test_lms.py @@ -864,7 +864,7 @@ class TooltipTest(UniqueCourseTest): self.course_info_page.visit() self.tab_nav.go_to_tab('Courseware') - self.assertTrue(self.courseware_page.tooltips_displayed()) + self.courseware_page.verify_tooltips_displayed() @attr('shard_1')