Chromium Code Reviews| Index: chrome/test/chromedriver/test/run_py_tests.py |
| diff --git a/chrome/test/chromedriver/test/run_py_tests.py b/chrome/test/chromedriver/test/run_py_tests.py |
| index 8c0acbdd2744c9cbe0d37f893c49390cdbfb18cc..15cef9cf846ad50f54bebd0f7c74834011c12c43 100755 |
| --- a/chrome/test/chromedriver/test/run_py_tests.py |
| +++ b/chrome/test/chromedriver/test/run_py_tests.py |
| @@ -883,6 +883,80 @@ class ChromeDriverTest(ChromeDriverBaseTestWithWebServer): |
| self.assertRaises(chromedriver.UnknownError, |
| self._driver.GetNetworkConditions) |
| + def testEmulatedNetworkConditions(self): |
| + |
| + # Network conditions must be set before it can be retrieved. |
| + |
| + self.assertRaises(chromedriver.UnknownError, |
| + self._driver.GetNetworkConditions) |
| + |
| + # Test offline connection. |
| + connection_type = 0x0; |
| + self._driver.SetEmulatedNetworkConditions(connection_type) |
| + network = self._driver.GetNetworkConditions() |
| + self.assertEquals(network['latency'], 0) |
| + self.assertEquals(network['offline'], True) |
| + |
| + # Test 3G connection. |
| + connection_type = 0x10; |
| + self._driver.SetEmulatedNetworkConditions(connection_type) |
| + network = self._driver.GetNetworkConditions() |
| + self.assertEquals(network['latency'], 100) |
| + self.assertEquals(network['upload_throughput'], 750 * 1024) |
| + self.assertEquals(network['offline'], False) |
| + |
| + |
| + # Network Conditions again cannot be retrieved after they've been deleted. |
| + self._driver.DeleteNetworkConditions() |
| + self.assertRaises(chromedriver.UnknownError, |
| + self._driver.GetNetworkConditions) |
| + |
| + def testNetworkConditionsDifferentWebViews(self): |
| + |
| + self.assertRaises(chromedriver.UnknownError, |
| + self._driver.GetNetworkConditions) |
| + |
| + |
| + # Set up first window. |
| + self._driver.Load(self.GetHttpUrlForFile('/chromedriver/page_test.html')) |
| + self.assertEquals( |
| + 1, self._driver.ExecuteScript('window.name = "oldWindow"; return 1;')) |
| + window1_handle = self._driver.GetCurrentWindowHandle() |
| + old_handles = self._driver.GetWindowHandles() |
| + |
| + # Test connection is offline. |
| + connection_type = 0x0; |
| + self._driver.SetEmulatedNetworkConditions(connection_type) |
| + network = self._driver.GetNetworkConditions() |
| + self.assertEquals(network['latency'], 0) |
| + self.assertEquals(network['offline'], True) |
| + |
| + |
| + # Navigate to another window. |
| + self._driver.FindElement('id', 'link').Click() |
| + new_window_handle = self.WaitForNewWindow(self._driver, old_handles) |
| + self.assertNotEqual(None, new_window_handle) |
| + self._driver.SwitchToWindow(new_window_handle) |
| + self.assertEquals(new_window_handle, self._driver.GetCurrentWindowHandle()) |
| + self.assertRaises(chromedriver.NoSuchElement, |
| + self._driver.FindElement, 'id', 'link') |
| + |
| + # Set connection to 3G in second window. |
| + connection_type = 0x10; |
| + self._driver.SetEmulatedNetworkConditions(connection_type) |
| + network = self._driver.GetNetworkConditions() |
| + self.assertEquals(network['latency'], 100) |
| + self.assertEquals(network['upload_throughput'], 750 * 1024) |
| + self.assertEquals(network['offline'], False) |
| + |
| + |
| + self._driver.SwitchToWindow('oldWindow') |
| + self.assertEquals(window1_handle, self._driver.GetCurrentWindowHandle()) |
| + |
| + # Test whether first window has old or new network conditions. |
| + network = self._driver.GetNetworkConditions() |
| + self.assertEquals(network['latency'], 100) |
| + |
| def testEmulateNetworkConditionsName(self): |
| # DSL: 2Mbps throughput, 5ms RTT |
| #latency = 5 |
| @@ -954,6 +1028,7 @@ class ChromeDriverTest(ChromeDriverBaseTestWithWebServer): |
| # navigation tracker to block the call to Load() above. |
| self.WaitForCondition(lambda: 'is not available' in self._driver.GetTitle()) |
| + |
|
samuong
2016/06/14 17:46:00
nitpick: this blank line is not needed
roisinmcl
2016/06/17 18:13:33
Done.
|
| def testShadowDomFindElementWithSlashDeep(self): |
| """Checks that chromedriver can find elements in a shadow DOM using /deep/ |
| css selectors.""" |