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

Side by Side Diff: chrome/test/chromedriver/test/run_py_tests.py

Issue 883083002: [chromedriver] Add Network Conditions Override Manager and tests (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Working implementation of emulating network conditions with chromedriver Created 5 years, 10 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
OLDNEW
1 #!/usr/bin/env python 1 #!/usr/bin/env python
2 # Copyright 2013 The Chromium Authors. All rights reserved. 2 # Copyright 2013 The Chromium Authors. All rights reserved.
3 # Use of this source code is governed by a BSD-style license that can be 3 # Use of this source code is governed by a BSD-style license that can be
4 # found in the LICENSE file. 4 # found in the LICENSE file.
5 5
6 """End to end tests for ChromeDriver.""" 6 """End to end tests for ChromeDriver."""
7 7
8 import base64 8 import base64
9 import json 9 import json
10 import math 10 import math
(...skipping 756 matching lines...) Expand 10 before | Expand all | Expand 10 after
767 self._driver.ExecuteScript('debugger;') 767 self._driver.ExecuteScript('debugger;')
768 768
769 def testMobileEmulationDisabledByDefault(self): 769 def testMobileEmulationDisabledByDefault(self):
770 self.assertFalse(self._driver.capabilities['mobileEmulationEnabled']) 770 self.assertFalse(self._driver.capabilities['mobileEmulationEnabled'])
771 771
772 def testChromeDriverSendLargeData(self): 772 def testChromeDriverSendLargeData(self):
773 script = 's = ""; for (i = 0; i < 10e6; i++) s += "0"; return s;' 773 script = 's = ""; for (i = 0; i < 10e6; i++) s += "0"; return s;'
774 lots_of_data = self._driver.ExecuteScript(script) 774 lots_of_data = self._driver.ExecuteScript(script)
775 self.assertEquals('0'.zfill(int(10e6)), lots_of_data) 775 self.assertEquals('0'.zfill(int(10e6)), lots_of_data)
776 776
777 def testEmulateNetworkConditions(self):
778 # DSL: 2Mbps throughput, 5ms RTT
779 latency = 5
780 throughput = 2048 * 1024
781 self._driver.SetNetworkConditions(latency, throughput, throughput)
782
783 network = self._driver.GetNetworkConditions()
784 self.assertEquals(latency, network['latency']);
785 self.assertEquals(throughput, network['download_throughput']);
786 self.assertEquals(throughput, network['upload_throughput']);
787
788 def testEmulateNetworkConditionsSpeed(self):
789 # Warm up the browser.
790 self._http_server.SetDataForPath(
791 '/', "<html><body>blank</body></html>")
792 self._driver.Load(self._http_server.GetUrl() + '/')
793
794 # DSL: 2Mbps throughput, 5ms RTT
795 latency = 5
796 throughput_kbps = 2000
797 throughput = throughput_kbps * 1024
798 self._driver.SetNetworkConditions(latency, throughput, throughput)
799
800 _32_bytes = " 0 1 2 3 4 5 6 7 8 9 A B C D E F"
801 self._http_server.SetDataForPath(
802 '/1MB',
803 "<html><body>%s</body></html>" % (_32_bytes * 32768))
804 start = time.time()
805 self._driver.Load(self._http_server.GetUrl() + '/1MB')
806 finish = time.time()
807 duration = finish-start
808 actual_throughput_kbps = 1024 / duration
809 self.assertLessEqual(actual_throughput_kbps, throughput_kbps * 1.333)
810 self.assertGreaterEqual(actual_throughput_kbps, throughput_kbps / 1.333)
samuong 2015/02/11 23:22:14 I'm a bit concerned about flakiness for these test
srawlins 2015/02/25 22:40:57 I can presumably add a latency check as well that
811
777 def testShadowDomFindElementWithSlashDeep(self): 812 def testShadowDomFindElementWithSlashDeep(self):
778 """Checks that chromedriver can find elements in a shadow DOM using /deep/ 813 """Checks that chromedriver can find elements in a shadow DOM using /deep/
779 css selectors.""" 814 css selectors."""
780 self._driver.Load(self.GetHttpUrlForFile( 815 self._driver.Load(self.GetHttpUrlForFile(
781 '/chromedriver/shadow_dom_test.html')) 816 '/chromedriver/shadow_dom_test.html'))
782 self.assertTrue(self._driver.FindElement("css", "* /deep/ #olderTextBox")) 817 self.assertTrue(self._driver.FindElement("css", "* /deep/ #olderTextBox"))
783 818
784 def testShadowDomFindChildElement(self): 819 def testShadowDomFindChildElement(self):
785 """Checks that chromedriver can find child elements from a shadow DOM 820 """Checks that chromedriver can find child elements from a shadow DOM
786 element.""" 821 element."""
(...skipping 648 matching lines...) Expand 10 before | Expand all | Expand 10 after
1435 1470
1436 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule( 1471 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule(
1437 sys.modules[__name__]) 1472 sys.modules[__name__])
1438 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter) 1473 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter)
1439 ChromeDriverTest.GlobalSetUp() 1474 ChromeDriverTest.GlobalSetUp()
1440 MobileEmulationCapabilityTest.GlobalSetUp() 1475 MobileEmulationCapabilityTest.GlobalSetUp()
1441 result = unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run(tests) 1476 result = unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run(tests)
1442 ChromeDriverTest.GlobalTearDown() 1477 ChromeDriverTest.GlobalTearDown()
1443 MobileEmulationCapabilityTest.GlobalTearDown() 1478 MobileEmulationCapabilityTest.GlobalTearDown()
1444 sys.exit(len(result.failures) + len(result.errors)) 1479 sys.exit(len(result.failures) + len(result.errors))
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698