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

Side by Side Diff: tools/chrome_proxy/webdriver/lite_page.py

Issue 2856223008: Keep Lite Page bit set (Closed)
Patch Set: update fallback integration test Created 3 years, 7 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
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright 2017 The Chromium Authors. All rights reserved. 1 # Copyright 2017 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 4
5 import common 5 import common
6 from common import TestDriver 6 from common import TestDriver
7 from common import IntegrationTest 7 from common import IntegrationTest
8 8
9 import time 9 import time
10 10
(...skipping 70 matching lines...) Expand 10 before | Expand all | Expand 10 after
81 'document.body.scrollHeight') 81 'document.body.scrollHeight')
82 self.assertGreater(new_scroll_height, original_scroll_height) 82 self.assertGreater(new_scroll_height, original_scroll_height)
83 83
84 # Make sure there were more requests that were proxied. 84 # Make sure there were more requests that were proxied.
85 responses = test_driver.GetHTTPResponses(override_has_logs=True) 85 responses = test_driver.GetHTTPResponses(override_has_logs=True)
86 self.assertNotEqual(0, len(responses)) 86 self.assertNotEqual(0, len(responses))
87 for response in responses: 87 for response in responses:
88 self.assertHasChromeProxyViaHeader(response) 88 self.assertHasChromeProxyViaHeader(response)
89 self.assertIn(response.status, [200, 204]) 89 self.assertIn(response.status, [200, 204])
90 90
91 # Checks that Lo-Fi images are used when the user is in the 91 # Lo-Fi fallback is not currently supported via the client. Check that
92 # no Lo-Fi response is received if the user is in the
92 # DataCompressionProxyLitePageFallback field trial and a Lite Page is not 93 # DataCompressionProxyLitePageFallback field trial and a Lite Page is not
93 # served. 94 # served.
94 def testLitePageFallback(self): 95 def testLitePageFallback(self):
95 with TestDriver() as test_driver: 96 with TestDriver() as test_driver:
96 test_driver.AddChromeArg('--enable-spdy-proxy-auth') 97 test_driver.AddChromeArg('--enable-spdy-proxy-auth')
97 test_driver.AddChromeArg('--force-fieldtrials=' 98 test_driver.AddChromeArg('--force-fieldtrials='
98 'DataCompressionProxyLoFi/Enabled_Preview/' 99 'DataCompressionProxyLoFi/Enabled_Preview/'
99 'DataCompressionProxyLitePageFallback/Enabled') 100 'DataCompressionProxyLitePageFallback/Enabled')
100 test_driver.AddChromeArg('--force-fieldtrial-params=' 101 test_driver.AddChromeArg('--force-fieldtrial-params='
101 'DataCompressionProxyLoFi.Enabled_Preview:' 102 'DataCompressionProxyLoFi.Enabled_Preview:'
102 'effective_connection_type/4G') 103 'effective_connection_type/4G')
103 test_driver.AddChromeArg('--force-net-effective-connection-type=2g') 104 test_driver.AddChromeArg('--force-net-effective-connection-type=2g')
104 105
105 test_driver.LoadURL('http://check.googlezip.net/lite-page-fallback') 106 test_driver.LoadURL('http://check.googlezip.net/lite-page-fallback')
106 107
107 lite_page_requests = 0 108 lite_page_requests = 0
108 lo_fi_responses = 0 109 lo_fi_responses = 0
109 for response in test_driver.GetHTTPResponses(): 110 for response in test_driver.GetHTTPResponses():
110 if not response.request_headers: 111 if not response.request_headers:
111 continue 112 continue
112 113
113 cpat_request = response.request_headers['chrome-proxy-accept-transform']
114 if ('lite-page' in cpat_request):
115 lite_page_requests = lite_page_requests + 1
116 self.assertFalse(self.checkLitePageResponse(response))
117
118 if not response.url.endswith('png'):
119 continue
120
121 if (self.checkLoFiResponse(response, True)):
122 lo_fi_responses = lo_fi_responses + 1
123
124 # Verify that a Lite Page was requested and that the page fell back to
125 # Lo-Fi images.
126 self.assertEqual(1, lite_page_requests)
127 self.assertEqual(1, lo_fi_responses)
128
129 # Checks that Lo-Fi images are not used when the user is not in the
130 # DataCompressionProxyLitePageFallback field trial and a Lite Page is not
131 # served.
132 def testLitePageNoFallback(self):
133 with TestDriver() as test_driver:
134 test_driver.AddChromeArg('--enable-spdy-proxy-auth')
135 # Lite Pages must be enabled via the field trial because the Lite Page
136 # flag always falls back to Lo-Fi.
137 test_driver.AddChromeArg('--force-fieldtrials='
138 'DataCompressionProxyLoFi/Enabled_Preview')
139 test_driver.AddChromeArg('--force-fieldtrial-params='
140 'DataCompressionProxyLoFi.Enabled_Preview:'
141 'effective_connection_type/4G')
142 test_driver.AddChromeArg('--force-net-effective-connection-type=2g')
143
144 test_driver.LoadURL('http://check.googlezip.net/lite-page-fallback')
145
146 lite_page_requests = 0
147 for response in test_driver.GetHTTPResponses():
148 if not response.request_headers:
149 continue
150
151 if ('chrome-proxy-accept-transform' in response.request_headers): 114 if ('chrome-proxy-accept-transform' in response.request_headers):
152 cpat_request = response.request_headers[ 115 cpat_request = response.request_headers[
153 'chrome-proxy-accept-transform'] 116 'chrome-proxy-accept-transform']
154 if ('lite-page' in cpat_request): 117 if ('lite-page' in cpat_request):
155 lite_page_requests = lite_page_requests + 1 118 lite_page_requests = lite_page_requests + 1
156 self.assertFalse(self.checkLitePageResponse(response)) 119 self.assertFalse(self.checkLitePageResponse(response))
157 120
158 if not response.url.endswith('png'): 121 if not response.url.endswith('png'):
159 continue 122 continue
160 123
124 # Lo-Fi fallback is not currently supported via the client. Check that
125 # no Lo-Fi response is received.
161 self.checkLoFiResponse(response, False) 126 self.checkLoFiResponse(response, False)
162 127
163 # Verify that a Lite Page was requested and that the page fell back to 128 # Verify that a Lite Page was requested.
164 # Lo-Fi images.
165 self.assertEqual(1, lite_page_requests) 129 self.assertEqual(1, lite_page_requests)
166 130
167 if __name__ == '__main__': 131 if __name__ == '__main__':
168 IntegrationTest.RunAllTests() 132 IntegrationTest.RunAllTests()
OLDNEW
« no previous file with comments | « content/renderer/render_frame_impl.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698