Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(319)

Side by Side Diff: tools/telemetry/telemetry/core/tab_unittest.py

Issue 12278015: [Telemetry] Reorganize everything. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Re-add shebangs. Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 import os 4 import os
5 5
6 from telemetry import tab_test_case 6 from telemetry.core import util
7 from telemetry import tab_crash_exception 7 from telemetry.core import exceptions
8 from telemetry import util 8 from telemetry.test import tab_test_case
9 9
10 10
11 def _IsDocumentVisible(tab): 11 def _IsDocumentVisible(tab):
12 state = tab.EvaluateJavaScript('document.webkitVisibilityState') 12 state = tab.EvaluateJavaScript('document.webkitVisibilityState')
13 # TODO(dtu): Remove when crbug.com/166243 is fixed. 13 # TODO(dtu): Remove when crbug.com/166243 is fixed.
14 tab.Disconnect() 14 tab.Disconnect()
15 return state == 'visible' 15 return state == 'visible'
16 16
17 17
18 class TabTest(tab_test_case.TabTestCase): 18 class TabTest(tab_test_case.TabTestCase):
19 def testNavigateAndWaitToForCompleteState(self): 19 def testNavigateAndWaitToForCompleteState(self):
20 self._tab.Navigate('http://www.google.com') 20 self._tab.Navigate('http://www.google.com')
21 self._tab.WaitForDocumentReadyStateToBeComplete() 21 self._tab.WaitForDocumentReadyStateToBeComplete()
22 22
23 def testNavigateAndWaitToForInteractiveState(self): 23 def testNavigateAndWaitToForInteractiveState(self):
24 self._tab.Navigate('http://www.google.com') 24 self._tab.Navigate('http://www.google.com')
25 self._tab.WaitForDocumentReadyStateToBeInteractiveOrBetter() 25 self._tab.WaitForDocumentReadyStateToBeInteractiveOrBetter()
26 26
27 def testTabBrowserIsRightBrowser(self): 27 def testTabBrowserIsRightBrowser(self):
28 self.assertEquals(self._tab.browser, self._browser) 28 self.assertEquals(self._tab.browser, self._browser)
29 29
30 def testRendererCrash(self): 30 def testRendererCrash(self):
31 self.assertRaises(tab_crash_exception.TabCrashException, 31 self.assertRaises(exceptions.TabCrashException,
32 lambda: self._tab.Navigate('chrome://crash', 32 lambda: self._tab.Navigate('chrome://crash',
33 timeout=5)) 33 timeout=5))
34 34
35 def testActivateTab(self): 35 def testActivateTab(self):
36 if not self._browser.supports_tab_control: 36 if not self._browser.supports_tab_control:
37 return 37 return
38 self.assertTrue(_IsDocumentVisible(self._tab)) 38 self.assertTrue(_IsDocumentVisible(self._tab))
39 new_tab = self._browser.tabs.New() 39 new_tab = self._browser.tabs.New()
40 util.WaitFor(lambda: _IsDocumentVisible(new_tab), timeout=5) 40 util.WaitFor(lambda: _IsDocumentVisible(new_tab), timeout=5)
41 self.assertFalse(_IsDocumentVisible(self._tab)) 41 self.assertFalse(_IsDocumentVisible(self._tab))
42 self._tab.Activate() 42 self._tab.Activate()
43 util.WaitFor(lambda: _IsDocumentVisible(self._tab), timeout=5) 43 util.WaitFor(lambda: _IsDocumentVisible(self._tab), timeout=5)
44 self.assertFalse(_IsDocumentVisible(new_tab)) 44 self.assertFalse(_IsDocumentVisible(new_tab))
45 45
46 46
47 class GpuTabTest(tab_test_case.TabTestCase): 47 class GpuTabTest(tab_test_case.TabTestCase):
48 def setUp(self): 48 def setUp(self):
49 self._extra_browser_args = ['--enable-gpu-benchmarking'] 49 self._extra_browser_args = ['--enable-gpu-benchmarking']
50 super(GpuTabTest, self).setUp() 50 super(GpuTabTest, self).setUp()
51 51
52 def testScreenshot(self): 52 def testScreenshot(self):
53 unittest_data_dir = os.path.join(os.path.dirname(__file__), 53 unittest_data_dir = os.path.join(os.path.dirname(__file__),
54 '..', 'unittest_data') 54 '..', '..', 'unittest_data')
55 self._browser.SetHTTPServerDirectory(unittest_data_dir) 55 self._browser.SetHTTPServerDirectory(unittest_data_dir)
56 self._tab.Navigate( 56 self._tab.Navigate(
57 self._browser.http_server.UrlOf('green_rect.html')) 57 self._browser.http_server.UrlOf('green_rect.html'))
58 self._tab.WaitForDocumentReadyStateToBeComplete() 58 self._tab.WaitForDocumentReadyStateToBeComplete()
59 59
60 # Skip this test if running against a browser without screenshot support 60 # Skip this test if running against a browser without screenshot support
61 if self._tab.screenshot_supported: 61 if self._tab.screenshot_supported:
62 screenshot = self._tab.Screenshot(5) 62 screenshot = self._tab.Screenshot(5)
63 assert screenshot 63 assert screenshot
64 screenshot.GetPixelColor(0, 0).AssertIsRGB(0, 255, 0) 64 screenshot.GetPixelColor(0, 0).AssertIsRGB(0, 255, 0)
65 screenshot.GetPixelColor(31, 31).AssertIsRGB(0, 255, 0) 65 screenshot.GetPixelColor(31, 31).AssertIsRGB(0, 255, 0)
66 screenshot.GetPixelColor(32, 32).AssertIsRGB(255, 255, 255) 66 screenshot.GetPixelColor(32, 32).AssertIsRGB(255, 255, 255)
OLDNEW
« no previous file with comments | « tools/telemetry/telemetry/core/tab_list.py ('k') | tools/telemetry/telemetry/core/temporary_http_server.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698