Bug 1245064 - Run click tests with new interactability algorithm; r=automatedtester a=test-only
authorAndreas Tolfsen <ato@mozilla.com>
Fri, 04 Mar 2016 18:04:16 +0000
changeset 323390 3bb19c9730afdd2501d08c88cd410fd04bd71c38
parent 323389 57e85125326d1a7c13d2ced96fe77cc019fc43b9
child 323391 45c68ee48929e1e9d300037347658d05a312e556
push id5913
push userjlund@mozilla.com
push dateMon, 25 Apr 2016 16:57:49 +0000
treeherdermozilla-beta@dcaf0a6fa115 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersautomatedtester, test-only
bugs1245064
milestone47.0a2
Bug 1245064 - Run click tests with new interactability algorithm; r=automatedtester a=test-only MozReview-Commit-ID: FR7yucKZ7XT
testing/marionette/harness/marionette/tests/unit/test_click.py
--- a/testing/marionette/harness/marionette/tests/unit/test_click.py
+++ b/testing/marionette/harness/marionette/tests/unit/test_click.py
@@ -1,21 +1,30 @@
 # This Source Code Form is subject to the terms of the Mozilla Public
 # License, v. 2.0. If a copy of the MPL was not distributed with this
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 
+from unittest import skip
+
 from marionette_driver.by import By
 from marionette_driver.errors import NoSuchElementException, ElementNotVisibleException
-from marionette import MarionetteTestCase
+from marionette_driver.keys import Keys
 from marionette_driver.marionette import Actions
-from marionette_driver.keys import Keys
 from marionette_driver.wait import Wait
+from marionette import MarionetteTestCase
 
 
-class TestClick(MarionetteTestCase):
+class TestLegacyClick(MarionetteTestCase):
+    """Uses legacy Selenium element displayedness checks."""
+
+    def setUp(self):
+        MarionetteTestCase.setUp(self)
+        self.marionette.delete_session()
+        self.marionette.start_session()
+
     def test_click(self):
         test_html = self.marionette.absolute_url("test.html")
         self.marionette.navigate(test_html)
         link = self.marionette.find_element(By.ID, "mozLink")
         link.click()
         self.assertEqual("Clicked", self.marionette.execute_script("return document.getElementById('mozLink').innerHTML;"))
 
     def test_clicking_a_link_made_up_of_numbers_is_handled_correctly(self):
@@ -33,8 +42,23 @@ class TestClick(MarionetteTestCase):
         with self.assertRaises(ElementNotVisibleException):
             self.marionette.find_element(By.ID, 'child').click()
 
     def test_clicking_on_a_multiline_link(self):
         test_html = self.marionette.absolute_url("clicks.html")
         self.marionette.navigate(test_html)
         self.marionette.find_element(By.ID, "overflowLink").click()
         self.wait_for_condition(lambda mn: self.marionette.title == "XHTML Test Page")
+
+
+class TestClick(TestLegacyClick):
+    """Uses WebDriver specification compatible element interactability
+    checks.
+    """
+
+    def setUp(self):
+        TestLegacyClick.setUp(self)
+        self.marionette.delete_session()
+        self.marionette.start_session({"specificationLevel": 1})
+
+    @skip("fails with spec compatible interactability checks")
+    def test_clicking_an_element_that_is_not_displayed_raises(self):
+        pass