Index: tools/telemetry/telemetry/core/tab_unittest.py |
diff --git a/tools/telemetry/telemetry/core/tab_unittest.py b/tools/telemetry/telemetry/core/tab_unittest.py |
index 3bc3089104cdbb171d09cea3fb34bfa45b53e596..b47cd44433bcd672371b4d860a152f16b5d2568d 100644 |
--- a/tools/telemetry/telemetry/core/tab_unittest.py |
+++ b/tools/telemetry/telemetry/core/tab_unittest.py |
@@ -3,12 +3,10 @@ |
# found in the LICENSE file. |
import logging |
-import time |
from telemetry.core import util |
from telemetry.core import exceptions |
from telemetry.unittest import tab_test_case |
-from telemetry.unittest import DisabledTest |
def _IsDocumentVisible(tab): |
@@ -57,7 +55,6 @@ class GpuTabTest(tab_test_case.TabTestCase): |
self._extra_browser_args = ['--enable-gpu-benchmarking'] |
super(GpuTabTest, self).setUp() |
- @DisabledTest |
def testScreenshot(self): |
if not self._tab.screenshot_supported: |
logging.warning('Browser does not support screenshots, skipping test.') |
@@ -69,8 +66,6 @@ class GpuTabTest(tab_test_case.TabTestCase): |
self._tab.WaitForDocumentReadyStateToBeComplete() |
pixel_ratio = self._tab.EvaluateJavaScript('window.devicePixelRatio || 1') |
- # TODO(bajones): Sleep for a bit to counter BUG 260878. |
- time.sleep(0.5) |
screenshot = self._tab.Screenshot(5) |
assert screenshot |
screenshot.GetPixelColor(0 * pixel_ratio, 0 * pixel_ratio).AssertIsRGB( |
@@ -79,3 +74,22 @@ class GpuTabTest(tab_test_case.TabTestCase): |
0, 255, 0, tolerance=2) |
screenshot.GetPixelColor(32 * pixel_ratio, 32 * pixel_ratio).AssertIsRGB( |
255, 255, 255, tolerance=2) |
+ |
+ def testScreenshotSync(self): |
+ if not self._tab.screenshot_supported: |
+ logging.warning('Browser does not support screenshots, skipping test.') |
+ return |
+ |
+ self._browser.SetHTTPServerDirectories(util.GetUnittestDataDir()) |
+ self._tab.Navigate( |
+ self._browser.http_server.UrlOf('screenshot_sync.html')) |
+ self._tab.WaitForDocumentReadyStateToBeComplete() |
+ |
+ def IsTestComplete(): |
+ return self._tab.EvaluateJavaScript('window.__testComplete') |
+ util.WaitFor(IsTestComplete, 120) |
+ |
+ message = self._tab.EvaluateJavaScript('window.__testMessage') |
+ if message: |
+ logging.error(message) |
+ assert self._tab.EvaluateJavaScript('window.__testSuccess') |