Commit df6addce by Matjaz Gregoric

Fix flaky scroll_into_view test.

The scrolling is not entirely precise, it's sometimes off by a pixel or two.
Increase the tolerance to 2 pixels.
parent cc0c234e
import time
from mock import patch from mock import patch
from ddt import ddt, data from ddt import ddt, data
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support.ui import WebDriverWait
...@@ -1332,7 +1330,8 @@ class StepBuilderTest(MentoringAssessmentBaseTest, MultipleSliderBlocksTestMixin ...@@ -1332,7 +1330,8 @@ class StepBuilderTest(MentoringAssessmentBaseTest, MultipleSliderBlocksTestMixin
def is_scrolled_to_top(driver): def is_scrolled_to_top(driver):
scroll_top = int(driver.execute_script("return $(window).scrollTop()")) scroll_top = int(driver.execute_script("return $(window).scrollTop()"))
return abs(scroll_top - step_builder_offset) < 1 tolerance = 2
return abs(scroll_top - step_builder_offset) <= tolerance
wait = WebDriverWait(self.browser, 5) wait = WebDriverWait(self.browser, 5)
wait.until(is_scrolled_to_top) wait.until(is_scrolled_to_top)
...@@ -1342,7 +1341,7 @@ class StepBuilderTest(MentoringAssessmentBaseTest, MultipleSliderBlocksTestMixin ...@@ -1342,7 +1341,7 @@ class StepBuilderTest(MentoringAssessmentBaseTest, MultipleSliderBlocksTestMixin
def test_scroll_into_view(self): def test_scroll_into_view(self):
# Make window small, so that we have to scroll. # Make window small, so that we have to scroll.
self.browser.set_window_size(400, 400) self.browser.set_window_size(600, 400)
step_builder, controls = self.load_assessment_scenario("step_builder_long_steps.xml", {}) step_builder, controls = self.load_assessment_scenario("step_builder_long_steps.xml", {})
# First step # First step
self.check_viewport() self.check_viewport()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment