1 # Copyright 2014 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file.
4 from telemetry
.page
import page
as page_module
5 from telemetry
.page
import page_set
as page_set_module
8 class SimplePage(page_module
.Page
):
10 def __init__(self
, url
, page_set
):
11 super(SimplePage
, self
).__init
__(url
=url
, page_set
=page_set
)
12 self
.credentials_path
= 'data/credentials.json'
13 self
.archive_data_file
= 'data/simple_mobile_sites.json'
15 def RunNavigateSteps(self
, action_runner
):
16 action_runner
.NavigateToPage(self
)
17 # TODO(epenner): Remove this wait (http://crbug.com/366933)
20 class SimpleScrollPage(SimplePage
):
22 def __init__(self
, url
, page_set
):
23 super(SimpleScrollPage
, self
).__init
__(url
=url
, page_set
=page_set
)
25 def RunSmoothness(self
, action_runner
):
26 # Make the scroll longer to reduce noise.
27 interaction
= action_runner
.BeginGestureInteraction(
28 'ScrollAction', is_smooth
=True)
29 action_runner
.ScrollPage(direction
='down', speed_in_pixels_per_second
=300)
32 class SimpleMobileSitesPageSet(page_set_module
.PageSet
):
34 """ Simple mobile sites """
37 super(SimpleMobileSitesPageSet
, self
).__init
__(
38 credentials_path
='data/credentials.json',
39 user_agent_type
='tablet_10_inch',
40 archive_data_file
='data/simple_mobile_sites.json',
41 bucket
=page_set_module
.PUBLIC_BUCKET
)
44 # Why: Scrolls moderately complex pages (up to 60 layers)
45 'http://www.ebay.co.uk/',
46 'https://www.flickr.com/',
47 'http://www.apple.com/mac/',
49 'http://m.nytimes.com/',
50 'https://www.yahoo.com/',
51 'http://m.us.wsj.com/',
54 for url
in scroll_page_list
:
55 self
.AddPage(SimpleScrollPage(url
, self
))