| OLD | NEW |
| (Empty) | |
| 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. |
| 4 from telemetry.page import page as page_module |
| 5 from telemetry.page import page_test as page_test |
| 6 from telemetry.page import page_set as page_set_module |
| 7 |
| 8 class BlobWorkshopPage(page_module.Page): |
| 9 def __init__(self, blob_sizes, read_method, page_set): |
| 10 super(BlobWorkshopPage, self).__init__(url='file://blob/blob-workshop.html',
page_set=page_set) |
| 11 self.blob_sizes = blob_sizes |
| 12 self.read_method = read_method |
| 13 self.errors = [] |
| 14 |
| 15 def RunNavigateSteps(self, action_runner): |
| 16 url = self.file_path_url_with_scheme if self.is_file else self.url |
| 17 action_runner.Navigate( |
| 18 url, script_to_evaluate_on_commit=self.script_to_evaluate_on_commit) |
| 19 |
| 20 # Add blobs |
| 21 for size_bytes in self.blob_sizes: |
| 22 with action_runner.CreateInteraction('Action_CreateBlob', |
| 23 repeatable=True): |
| 24 action_runner.ExecuteJavaScript('createBlob(' + str(size_bytes) + ');') |
| 25 |
| 26 # Read blobs |
| 27 with action_runner.CreateInteraction('Action_ReadBlob'): |
| 28 if self.read_method is 'serial': |
| 29 action_runner.ExecuteJavaScript('readBlobsSerially();') |
| 30 else: |
| 31 action_runner.ExecuteJavaScript('readBlobsInParallel();') |
| 32 action_runner.WaitForJavaScriptCondition('doneReading == true', 60) |
| 33 |
| 34 self.errors = action_runner.EvaluateJavaScript('errors') |
| 35 if (self.errors): |
| 36 raise page_test.Failure('Errors on page: ' + ', '.join(self.errors)) |
| 37 |
| 38 class BlobWorkshopPageSet(page_set_module.PageSet): |
| 39 """The BlobWorkshop page.""" |
| 40 |
| 41 def __init__(self): |
| 42 super(BlobWorkshopPageSet, self).__init__() |
| 43 self.AddUserStory(BlobWorkshopPage([2] * 100, 'serial', self)) |
| 44 # self.AddUserStory(BlobWorkshopPage([2] * 10000, 'parallel', self)) |
| 45 # self.AddUserStory(BlobWorkshopPage([10] * 10000, 'parallel', self)) |
| 46 # self.AddUserStory(BlobWorkshopPage([1024] * 1000, 'parallel', self)) |
| 47 # self.AddUserStory(BlobWorkshopPage([10 * 1024] * 10, 'parallel', self)) |
| 48 # self.AddUserStory(BlobWorkshopPage([100 * 1024] * 2, 'parallel', self)) |
| 49 # self.AddUserStory(BlobWorkshopPage([501 * 1024], 'serial', self)) |
| OLD | NEW |