Index: tools/perf/page_sets/infinite_scroll_cases.py |
diff --git a/tools/perf/page_sets/infinite_scroll_cases.py b/tools/perf/page_sets/infinite_scroll_cases.py |
index 4781d25a2c77fb66a1a5938c1486e0e04ab991c0..993e555022d00a6e3378c15d94e6257546e12e17 100644 |
--- a/tools/perf/page_sets/infinite_scroll_cases.py |
+++ b/tools/perf/page_sets/infinite_scroll_cases.py |
@@ -13,14 +13,15 @@ STARTUP_SCRIPT = ''' |
window.Worker = undefined; |
window.performance = undefined;''' |
-def _ScrollAction(action_runner, scroll_amount): |
+def _ScrollAction(action_runner, scroll_amount, delay, repeat): |
action_runner.Wait(TIME_TO_WAIT_BEFORE_STARTING_IN_SECONDS) |
with action_runner.CreateInteraction('Begin'): |
action_runner.tab.browser.DumpMemory() |
with action_runner.CreateInteraction('Scrolling'): |
action_runner.RepeatableBrowserDrivenScroll( |
y_scroll_distance_ratio=scroll_amount, |
- repeat_count=0) |
+ repeat_delay_ms=delay, |
+ repeat_count=repeat) |
with action_runner.CreateInteraction('End'): |
action_runner.tab.browser.DumpMemory() |
@@ -34,11 +35,12 @@ def _CreateInfiniteScrollPageClass(base_page_cls): |
class DerivedSmoothPage(base_page_cls): # pylint: disable=no-init |
def RunPageInteractions(self, action_runner): |
_WaitAction(action_runner) |
- _ScrollAction(action_runner, self.scroll_amount) |
+ _ScrollAction(action_runner, self.scroll_amount, self.delay, self.repeat) |
return DerivedSmoothPage |
class InfiniteScrollPage(page_module.Page): |
- def __init__(self, url, page_set, name, scroll_amount, credentials=None): |
+ def __init__(self, url, page_set, name, scroll_amount, delay, repeat, |
+ credentials=None): |
super(InfiniteScrollPage, self).__init__( |
url=url, page_set=page_set, name=name, |
shared_page_state_class=shared_page_state.SharedPageState, |
@@ -46,6 +48,8 @@ class InfiniteScrollPage(page_module.Page): |
self.credentials = credentials |
self.script_to_evaluate_on_commit = STARTUP_SCRIPT |
self.scroll_amount = scroll_amount |
+ self.delay = delay |
+ self.repeat = repeat |
class InfiniteScrollPageSet(story.StorySet): |
""" Top pages that can be scrolled for many pages. """ |
@@ -57,14 +61,15 @@ class InfiniteScrollPageSet(story.StorySet): |
# continiously throught the test without hitting the end of the page. |
SCROLL_FAR = 30 |
SCROLL_NEAR = 13 |
+ SCROLL_PAGE = 1 |
pages = [ |
- ('https://www.facebook.com/shakira', 'facebook', SCROLL_FAR), |
- ('https://twitter.com/taylorswift13', 'twitter', SCROLL_FAR), |
- ('http://espn.go.com/', 'espn', SCROLL_NEAR), |
- ('https://www.yahoo.com', 'yahoo', SCROLL_NEAR), |
- ('http://techcrunch.tumblr.com/', 'tumblr', SCROLL_FAR), |
- ('https://www.flickr.com/explore', 'flickr', SCROLL_FAR) |
+ ('https://www.facebook.com/shakira', 'facebook', SCROLL_FAR, 0, 0), |
+ ('https://twitter.com/taylorswift13', 'twitter', SCROLL_PAGE, 10, 30), |
+ ('http://espn.go.com/', 'espn', SCROLL_NEAR, 0, 0), |
+ ('https://www.yahoo.com', 'yahoo', SCROLL_NEAR, 0, 0), |
+ ('http://techcrunch.tumblr.com/', 'tumblr', SCROLL_FAR, 0, 0), |
+ ('https://www.flickr.com/explore', 'flickr', SCROLL_FAR, 0, 0) |
] |
- for (url, name, scroll_amount) in pages: |
+ for (url, name, scroll_amount, delay, repeat) in pages: |
page_class = _CreateInfiniteScrollPageClass(InfiniteScrollPage) |
- self.AddStory(page_class(url, self, name, scroll_amount)) |
+ self.AddStory(page_class(url, self, name, scroll_amount, delay, repeat)) |