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 5from telemetry.page import page as page_module 6from telemetry.page import page_set as page_set_module 7 8 9class SmokePage(page_module.Page): 10 11 def __init__(self, url, page_set, name=''): 12 super(SmokePage, self).__init__(url=url, page_set=page_set, name=name) 13 self.archive_data_file = '../data/chrome_proxy_smoke.json' 14 15 16class Page1(SmokePage): 17 18 """ 19 Why: Check chrome proxy response headers. 20 """ 21 22 def __init__(self, page_set): 23 super(Page1, self).__init__( 24 url='http://aws1.mdw.la/fw/', 25 page_set=page_set, 26 name='header validation') 27 28 29class Page2(SmokePage): 30 31 """ 32 Why: Check data compression 33 """ 34 35 def __init__(self, page_set): 36 super(Page2, self).__init__( 37 url='http://aws1.mdw.la/static/', 38 page_set=page_set, 39 name='compression: image') 40 41 42class Page3(SmokePage): 43 44 """ 45 Why: Check bypass 46 """ 47 48 def __init__(self, page_set): 49 super(Page3, self).__init__( 50 url='http://aws1.mdw.la/bypass/', 51 page_set=page_set, 52 name='bypass') 53 self.restart_after = True 54 55 56class Page4(SmokePage): 57 58 """ 59 Why: Check data compression 60 """ 61 62 def __init__(self, page_set): 63 super(Page4, self).__init__( 64 url='http://aws1.mdw.la/static/', 65 page_set=page_set, 66 name='compression: javascript') 67 68 69class Page5(SmokePage): 70 71 """ 72 Why: Check data compression 73 """ 74 75 def __init__(self, page_set): 76 super(Page5, self).__init__( 77 url='http://aws1.mdw.la/static/', 78 page_set=page_set, 79 name='compression: css') 80 81 82class Page6(SmokePage): 83 84 """ 85 Why: Expect 'malware ahead' page. Use a short navigation timeout because no 86 response will be received. 87 """ 88 89 def __init__(self, page_set): 90 super(Page6, self).__init__( 91 url='http://www.ianfette.org/', 92 page_set=page_set, 93 name='safebrowsing') 94 95 def RunNavigateSteps(self, action_runner): 96 action_runner.NavigateToPage(self, timeout_in_seconds=5) 97 98 99class SmokePageSet(page_set_module.PageSet): 100 101 """ Chrome proxy test sites """ 102 103 def __init__(self): 104 super(SmokePageSet, self).__init__( 105 archive_data_file='../data/chrome_proxy_smoke.json') 106 107 self.AddPage(Page1(self)) 108 self.AddPage(Page2(self)) 109 self.AddPage(Page3(self)) 110 self.AddPage(Page4(self)) 111 self.AddPage(Page5(self)) 112 self.AddPage(Page6(self)) 113