--- a/testing/marionette/harness/marionette/tests/unit/test_findelement.py
+++ b/testing/marionette/harness/marionette/tests/unit/test_findelement.py
@@ -4,16 +4,20 @@
from marionette import MarionetteTestCase
from marionette_driver.marionette import HTMLElement
from marionette_driver.by import By
from marionette_driver.errors import NoSuchElementException, InvalidSelectorException
class TestElements(MarionetteTestCase):
+ def setUp(self):
+ MarionetteTestCase.setUp(self)
+ self.marionette.set_search_timeout(0)
+
def test_id(self):
test_html = self.marionette.absolute_url("test.html")
self.marionette.navigate(test_html)
el = self.marionette.execute_script("return window.document.getElementById('mozLink');")
found_el = self.marionette.find_element(By.ID, "mozLink")
self.assertEqual(HTMLElement, type(found_el))
self.assertEqual(el, found_el)
@@ -114,22 +118,36 @@ class TestElements(MarionetteTestCase):
found_el = self.marionette.find_element(By.XPATH, "id('mozLink')")
self.assertEqual(HTMLElement, type(found_el))
self.assertEqual(el, found_el)
found_el = self.marionette.find_elements(By.XPATH, "id('mozLink')")[0]
self.assertEqual(HTMLElement, type(found_el))
self.assertEqual(el, found_el)
def test_not_found(self):
- test_html = self.marionette.absolute_url("test.html")
- self.marionette.navigate(test_html)
- self.marionette.set_search_timeout(1000)
- self.assertRaises(NoSuchElementException, self.marionette.find_element, By.ID, "I'm not on the page")
self.marionette.set_search_timeout(0)
- self.assertRaises(NoSuchElementException, self.marionette.find_element, By.ID, "I'm not on the page")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.CLASS_NAME, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.CSS_SELECTOR, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.ID, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.LINK_TEXT, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.NAME, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.PARTIAL_LINK_TEXT, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.TAG_NAME, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.XPATH, "cheese")
+
+ def test_not_found_implicit_wait(self):
+ self.marionette.set_search_timeout(50)
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.CLASS_NAME, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.CSS_SELECTOR, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.ID, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.LINK_TEXT, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.NAME, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.PARTIAL_LINK_TEXT, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.TAG_NAME, "cheese")
+ self.assertRaises(NoSuchElementException, self.marionette.find_element, By.XPATH, "cheese")
def test_timeout_element(self):
test_html = self.marionette.absolute_url("test.html")
self.marionette.navigate(test_html)
button = self.marionette.find_element("id", "createDivButton")
button.click()
self.assertRaises(NoSuchElementException, self.marionette.find_element, By.ID, "newDiv")
self.assertTrue(True, self.marionette.set_search_timeout(8000))