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

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

Issue 824603002: Revert of [chromedriver] Add shadow DOM support to chromedriver. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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 727 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 self._driver.ExecuteScript('debugger;') 738 self._driver.ExecuteScript('debugger;')
739 739
740 def testMobileEmulationDisabledByDefault(self): 740 def testMobileEmulationDisabledByDefault(self):
741 self.assertFalse(self._driver.capabilities['mobileEmulationEnabled']) 741 self.assertFalse(self._driver.capabilities['mobileEmulationEnabled'])
742 742
743 def testChromeDriverSendLargeData(self): 743 def testChromeDriverSendLargeData(self):
744 script = 's = ""; for (i = 0; i < 10e6; i++) s += "0"; return s;' 744 script = 's = ""; for (i = 0; i < 10e6; i++) s += "0"; return s;'
745 lots_of_data = self._driver.ExecuteScript(script) 745 lots_of_data = self._driver.ExecuteScript(script)
746 self.assertEquals('0'.zfill(int(10e6)), lots_of_data) 746 self.assertEquals('0'.zfill(int(10e6)), lots_of_data)
747 747
748 def testShadowDomFindElementWithSlashDeep(self):
749 """Checks that chromedriver can find elements in a shadow DOM using /deep/
750 css selectors."""
751 self._driver.Load(self.GetHttpUrlForFile(
752 '/chromedriver/shadow_dom_test.html'))
753 self.assertTrue(self._driver.FindElement("css", "* /deep/ #olderTextBox"))
754
755 def testShadowDomFindChildElement(self):
756 """Checks that chromedriver can find child elements from a shadow DOM
757 element."""
758 self._driver.Load(self.GetHttpUrlForFile(
759 '/chromedriver/shadow_dom_test.html'))
760 elem = self._driver.FindElement("css", "* /deep/ #olderChildDiv")
761 self.assertTrue(elem.FindElement("id", "olderTextBox"))
762
763 def testShadowDomFindElementFailsFromRootWithoutSlashDeep(self):
764 """Checks that chromedriver can't find elements in a shadow DOM without
765 /deep/."""
766 self._driver.Load(self.GetHttpUrlForFile(
767 '/chromedriver/shadow_dom_test.html'))
768 # can't find element from the root without /deep/
769 with self.assertRaises(chromedriver.NoSuchElement):
770 self._driver.FindElement("id", "#olderTextBox")
771
772 def testShadowDomFindElementFailsBetweenShadowRoots(self):
773 """Checks that chromedriver can't find elements in other shadow DOM
774 trees."""
775 self._driver.Load(self.GetHttpUrlForFile(
776 '/chromedriver/shadow_dom_test.html'))
777 elem = self._driver.FindElement("css", "* /deep/ #youngerChildDiv")
778 with self.assertRaises(chromedriver.NoSuchElement):
779 elem.FindElement("id", "#olderTextBox")
780
781 def testShadowDomText(self):
782 """Checks that chromedriver can find extract the text from a shadow DOM
783 element."""
784 self._driver.Load(self.GetHttpUrlForFile(
785 '/chromedriver/shadow_dom_test.html'))
786 elem = self._driver.FindElement("css", "* /deep/ #olderHeading")
787 self.assertEqual("Older Child", elem.GetText())
788
789 def testShadowDomSendKeys(self):
790 """Checks that chromedriver can call SendKeys on a shadow DOM element."""
791 self._driver.Load(self.GetHttpUrlForFile(
792 '/chromedriver/shadow_dom_test.html'))
793 elem = self._driver.FindElement("css", "* /deep/ #olderTextBox")
794 elem.SendKeys("bar")
795 self.assertEqual("foobar", self._driver.ExecuteScript(
796 'return document.querySelector("* /deep/ #olderTextBox").value;'))
797
798 def testShadowDomClear(self):
799 """Checks that chromedriver can call Clear on a shadow DOM element."""
800 self._driver.Load(self.GetHttpUrlForFile(
801 '/chromedriver/shadow_dom_test.html'))
802 elem = self._driver.FindElement("css", "* /deep/ #olderTextBox")
803 elem.Clear()
804 self.assertEqual("", self._driver.ExecuteScript(
805 'return document.querySelector("* /deep/ #olderTextBox").value;'))
806
807 def testShadowDomClick(self):
808 """Checks that chromedriver can call Click on an element in a shadow DOM."""
809 self._driver.Load(self.GetHttpUrlForFile(
810 '/chromedriver/shadow_dom_test.html'))
811 elem = self._driver.FindElement("css", "* /deep/ #olderButton")
812 elem.Click()
813 # the butotn's onClicked handler changes the text box's value
814 self.assertEqual("Button Was Clicked", self._driver.ExecuteScript(
815 'return document.querySelector("* /deep/ #olderTextBox").value;'))
816
817 def testShadowDomStaleReference(self):
818 """Checks that trying to manipulate shadow DOM elements that are detached
819 from the document raises a StaleElementReference exception"""
820 self._driver.Load(self.GetHttpUrlForFile(
821 '/chromedriver/shadow_dom_test.html'))
822 elem = self._driver.FindElement("css", "* /deep/ #olderButton")
823 self._driver.ExecuteScript(
824 'document.querySelector("#outerDiv").innerHTML="<div/>";')
825 with self.assertRaises(chromedriver.StaleElementReference):
826 elem.Click()
827
828 def testShadowDomDisplayed(self):
829 """Checks that trying to manipulate shadow DOM elements that are detached
830 from the document raises a StaleElementReference exception"""
831 self._driver.Load(self.GetHttpUrlForFile(
832 '/chromedriver/shadow_dom_test.html'))
833 elem = self._driver.FindElement("css", "* /deep/ #olderButton")
834 self.assertTrue(elem.IsDisplayed())
835 self._driver.ExecuteScript(
836 'document.querySelector("#outerDiv").style.display="None";')
837 self.assertFalse(elem.IsDisplayed())
838 748
839 class ChromeDriverAndroidTest(ChromeDriverBaseTest): 749 class ChromeDriverAndroidTest(ChromeDriverBaseTest):
840 """End to end tests for Android-specific tests.""" 750 """End to end tests for Android-specific tests."""
841 751
842 def testLatestAndroidAppInstalled(self): 752 def testLatestAndroidAppInstalled(self):
843 if ('stable' not in _ANDROID_PACKAGE_KEY and 753 if ('stable' not in _ANDROID_PACKAGE_KEY and
844 'beta' not in _ANDROID_PACKAGE_KEY): 754 'beta' not in _ANDROID_PACKAGE_KEY):
845 return 755 return
846 756
847 self._driver = self.CreateDriver() 757 self._driver = self.CreateDriver()
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after
1387 1297
1388 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule( 1298 all_tests_suite = unittest.defaultTestLoader.loadTestsFromModule(
1389 sys.modules[__name__]) 1299 sys.modules[__name__])
1390 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter) 1300 tests = unittest_util.FilterTestSuite(all_tests_suite, options.filter)
1391 ChromeDriverTest.GlobalSetUp() 1301 ChromeDriverTest.GlobalSetUp()
1392 MobileEmulationCapabilityTest.GlobalSetUp() 1302 MobileEmulationCapabilityTest.GlobalSetUp()
1393 result = unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run(tests) 1303 result = unittest.TextTestRunner(stream=sys.stdout, verbosity=2).run(tests)
1394 ChromeDriverTest.GlobalTearDown() 1304 ChromeDriverTest.GlobalTearDown()
1395 MobileEmulationCapabilityTest.GlobalTearDown() 1305 MobileEmulationCapabilityTest.GlobalTearDown()
1396 sys.exit(len(result.failures) + len(result.errors)) 1306 sys.exit(len(result.failures) + len(result.errors))
OLDNEW
« no previous file with comments | « chrome/test/chromedriver/js/focus.js ('k') | chrome/test/data/chromedriver/shadow_dom_test.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698