mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 06:11:37 +00:00
Bug 749862 - findElements should return all matching elements, r=jgriffin, a=test-only
This commit is contained in:
parent
eda1d7b45b
commit
a5e38a5f84
@ -71,6 +71,9 @@ class TestElements(MarionetteTestCase):
|
||||
found_el = self.marionette.find_element("tag name", "body")
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
found_el = self.marionette.find_elements("tag name", "body")[0]
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
|
||||
def test_class_name(self):
|
||||
test_html = self.marionette.absolute_url("test.html")
|
||||
@ -79,6 +82,9 @@ class TestElements(MarionetteTestCase):
|
||||
found_el = self.marionette.find_element("class name", "linkClass")
|
||||
self.assertEqual(HTMLElement, type(found_el));
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
found_el = self.marionette.find_elements("class name", "linkClass")[0]
|
||||
self.assertEqual(HTMLElement, type(found_el));
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
|
||||
def test_name(self):
|
||||
test_html = self.marionette.absolute_url("test.html")
|
||||
@ -87,6 +93,9 @@ class TestElements(MarionetteTestCase):
|
||||
found_el = self.marionette.find_element("name", "myInput")
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
found_el = self.marionette.find_elements("name", "myInput")[0]
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
|
||||
def test_selector(self):
|
||||
test_html = self.marionette.absolute_url("test.html")
|
||||
@ -95,6 +104,9 @@ class TestElements(MarionetteTestCase):
|
||||
found_el = self.marionette.find_element("css selector", "h1")
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
found_el = self.marionette.find_elements("css selector", "h1")[0]
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
|
||||
def test_link_text(self):
|
||||
test_html = self.marionette.absolute_url("test.html")
|
||||
@ -103,6 +115,9 @@ class TestElements(MarionetteTestCase):
|
||||
found_el = self.marionette.find_element("link text", "Click me!")
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
found_el = self.marionette.find_elements("link text", "Click me!")[0]
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
|
||||
def test_partial_link_text(self):
|
||||
test_html = self.marionette.absolute_url("test.html")
|
||||
@ -111,6 +126,9 @@ class TestElements(MarionetteTestCase):
|
||||
found_el = self.marionette.find_element("partial link text", "Click m")
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
found_el = self.marionette.find_elements("partial link text", "Click m")[0]
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
|
||||
def test_xpath(self):
|
||||
test_html = self.marionette.absolute_url("test.html")
|
||||
@ -119,6 +137,9 @@ class TestElements(MarionetteTestCase):
|
||||
found_el = self.marionette.find_element("xpath", "id('mozLink')")
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
found_el = self.marionette.find_elements("xpath", "id('mozLink')")[0]
|
||||
self.assertEqual(HTMLElement, type(found_el))
|
||||
self.assertEqual(el.id, found_el.id)
|
||||
|
||||
def test_not_found(self):
|
||||
test_html = self.marionette.absolute_url("test.html")
|
||||
|
@ -402,9 +402,9 @@ ElementManager.prototype = {
|
||||
elements = this.findByXPathAll(rootNode, value, startNode);
|
||||
break;
|
||||
case NAME:
|
||||
element = startNode.getElementsByName ?
|
||||
startNode.getElementsByName(value)[0] :
|
||||
this.findByXPathAll(rootNode, './/*[@name="' + value + '"]', startNode);
|
||||
elements = startNode.getElementsByName ?
|
||||
startNode.getElementsByName(value) :
|
||||
this.findByXPathAll(rootNode, './/*[@name="' + value + '"]', startNode);
|
||||
break;
|
||||
case CLASS_NAME:
|
||||
elements = startNode.getElementsByClassName(value);
|
||||
@ -427,7 +427,7 @@ ElementManager.prototype = {
|
||||
}
|
||||
break;
|
||||
case SELECTOR:
|
||||
elements = rootNode.querySelectorAll(value);
|
||||
elements = Array.slice(rootNode.querySelectorAll(value));
|
||||
break;
|
||||
default:
|
||||
throw new ElementException("No such strategy", 500, null);
|
||||
|
Loading…
Reference in New Issue
Block a user