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 5 import logging 6 import shutil 7 import tempfile 8 9 from measurements import screenshot 10 from telemetry import benchmark 11 from telemetry.page import page_test 12 from telemetry.unittest import options_for_unittests 13 from telemetry.unittest import page_test_test_case 14 15 16 class ScreenshotUnitTest(page_test_test_case.PageTestTestCase): 17 def setUp(self): 18 self._options = options_for_unittests.GetCopy() 19 self._options.png_outdir = tempfile.mkdtemp('_png_test') 20 21 def tearDown(self): 22 shutil.rmtree(self._options.png_outdir) 23 24 @benchmark.Disabled('win') # http://crbug.com/386572 25 def testScreenshot(self): 26 ps = self.CreatePageSetFromFileInUnittestDataDir('blank.html') 27 measurement = screenshot.Screenshot() 28 try: 29 results = self.RunMeasurement(measurement, ps, options=self._options) 30 except page_test.TestNotSupportedOnPlatformFailure as failure: 31 logging.warning(str(failure)) 32 return 33 34 saved_picture_count = results.FindAllPageSpecificValuesNamed( 35 'saved_picture_count') 36 self.assertEquals(len(saved_picture_count), 1) 37 self.assertGreater(saved_picture_count[0].GetRepresentativeNumber(), 0) 38