1 # Copyright 2015 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.
5 from telemetry
import story
7 from page_sets
import google_pages
9 IDLE_TIME_IN_SECONDS
= 100
11 def _CreateIdlePageClass(base_page_cls
):
12 class DerivedIdlePage(base_page_cls
): # pylint: disable=W0232
13 def RunPageInteractions(self
, action_runner
):
14 action_runner
.Wait(IDLE_TIME_IN_SECONDS
)
15 return DerivedIdlePage
18 def _CreateIdleBackgroundPageClass(base_page_cls
):
19 class DerivedIdlePage(base_page_cls
): # pylint: disable=W0232
20 def RunPageInteractions(self
, action_runner
):
21 action_runner
.tab
.browser
.tabs
.New()
22 action_runner
.Wait(IDLE_TIME_IN_SECONDS
)
23 return DerivedIdlePage
26 class LongRunningIdleGmailPageSet(story
.StorySet
):
28 super(LongRunningIdleGmailPageSet
, self
).__init
__(
29 archive_data_file
='data/long_running_idle_gmail_page.json',
30 cloud_storage_bucket
=story
.PARTNER_BUCKET
)
32 _CreateIdlePageClass(google_pages
.GmailPage
)(self
))
35 class LongRunningIdleGmailBackgroundPageSet(story
.StorySet
):
37 # Reuse the wpr of foreground gmail.
38 super(LongRunningIdleGmailBackgroundPageSet
, self
).__init
__(
39 archive_data_file
='data/long_running_idle_gmail_page.json',
40 cloud_storage_bucket
=story
.PARTNER_BUCKET
)
42 _CreateIdleBackgroundPageClass(google_pages
.GmailPage
)(self
))