Bug 1424635 - Test element retrieval of HTMLDocument. r?automatedtester
The HTMLDocument prototype might have the nodeType 9 (DOCUMENT_NODE),
which certain implementations might fail because they always expect
it to be 1 (ELEMENT_NODE). However, it should be possible to
serialise any type of web element in WebDriver.
MozReview-Commit-ID: 9LHK29zkLHJ
--- a/testing/web-platform/meta/MANIFEST.json
+++ b/testing/web-platform/meta/MANIFEST.json
@@ -524224,17 +524224,17 @@
"a01aa825e0905a0efc3afe9bc3015d448e9618f1",
"testharness"
],
"dom/events/Event-propagation.html": [
"43ec5c9e681c20864a932635889e05969fd7b8f1",
"testharness"
],
"dom/events/Event-subclasses-constructors.html": [
- "5da96a9be09ad5dc69438ba9bd6b2ab58cf77ca1",
+ "52382c89b67be3c3fbb8bccccb6f75a4aaa7975b",
"testharness"
],
"dom/events/Event-timestamp-high-resolution.html": [
"b850d06415afbd533b822efaa59efaee2375065d",
"testharness"
],
"dom/events/Event-timestamp-safe-resolution.html": [
"dd22e8532f7ae8424d0a8ec898841a1c7545d020",
@@ -568224,17 +568224,17 @@
"72e4fc91dac6bdd42437b5034d1692a208a90de9",
"testharness"
],
"service-workers/service-worker/navigation-redirect-to-http.https.html": [
"12f109101a7d6fcb52ab070077297443fa7ab3eb",
"testharness"
],
"service-workers/service-worker/navigation-redirect.https.html": [
- "f8e79356467abba33e8008054c32baabc770fe65",
+ "109f463deeaad2d60d4dab644c782ad633e97a7d",
"testharness"
],
"service-workers/service-worker/onactivate-script-error.https.html": [
"bfef14af67c3a21523b5a7283d7cf86ac288f081",
"testharness"
],
"service-workers/service-worker/oninstall-script-error.https.html": [
"0497bf37f0e3b55a6a4745cae2ec700b6f963fd3",
@@ -576120,17 +576120,17 @@
"84bd0be22d6e250cfefd118d306b2790f67471cc",
"testharness"
],
"web-animations/timing-model/timelines/document-timelines.html": [
"bbe8a5565d88c5697170eba02be6858589383fdf",
"testharness"
],
"web-animations/timing-model/timelines/timelines.html": [
- "8f16dc524470d88f65dbae8c2e98a8a5dbba5465",
+ "50ff28dcf913c66c58818ce92f06f19d00c1e84b",
"testharness"
],
"web-nfc/OWNERS": [
"d42f3f15d00686bf5a5c7c69169ef5cf2554bd7b",
"support"
],
"web-nfc/idlharness.https.html": [
"83c52be8280bba314116ff1337028ea7835ddf43",
@@ -576676,25 +576676,25 @@
"37af63203540dfe11d36fe05d74694f05c6505f2",
"wdspec"
],
"webdriver/tests/element_retrieval/__init__.py": [
"da39a3ee5e6b4b0d3255bfef95601890afd80709",
"support"
],
"webdriver/tests/element_retrieval/find_element.py": [
- "2a4cdf4c703493f7c90fc3473daa27660ac61e11",
+ "699b97bd31eed625e2f0bed145aaf94c3e646853",
"wdspec"
],
"webdriver/tests/element_retrieval/find_element_from_element.py": [
"f036ef93adff21a7c83eeb8b131c96b6553b9fcb",
"wdspec"
],
"webdriver/tests/element_retrieval/find_elements.py": [
- "2d5c3c98b00e21a36f91e5797bb97835a8b63f2e",
+ "284ae53c5c94d02fb46b26dcd70af02d7917e7b4",
"wdspec"
],
"webdriver/tests/element_retrieval/find_elements_from_element.py": [
"131c25ffbde611f98e29b778d7c861ae9619b2f6",
"wdspec"
],
"webdriver/tests/element_retrieval/get_active_element.py": [
"918c6e48047f31a088ec44e9b0d070b0ae3d6077",
@@ -576744,17 +576744,17 @@
"d783d0dd370f58b264ef238d8da5cd8601dc3c7f",
"testharness"
],
"webdriver/tests/minimize_window.py": [
"ac1df5462702ac368ffa92cc12cfb5e34df226ac",
"wdspec"
],
"webdriver/tests/navigation/current_url.py": [
- "cec2987258d9c807a247da9e0216b3af1f171484",
+ "828e40301838c99aa2978733bbce3db3acc185a0",
"wdspec"
],
"webdriver/tests/navigation/get_title.py": [
"2ee18932a8ae3c4190b37e2b28141a6af49cc507",
"wdspec"
],
"webdriver/tests/sessions/get_timeouts.py": [
"eaee354d16aa8c3a0fc960198fa4c5d9365bdee5",
@@ -581868,17 +581868,17 @@
"b32446a62602baf1a316520ee8e2e5d9e60cada3",
"support"
],
"workers/SharedWorker_blobUrl.html": [
"d74620a63e7d911ef60b995cabf6b360c2c46a4f",
"testharness"
],
"workers/SharedWorker_dataUrl.html": [
- "f65d3caef416775c970a554448cebdf02580428f",
+ "285538767c2c79223f12b58da4e347eee8101ccc",
"testharness"
],
"workers/WorkerGlobalScope_ErrorEvent_colno.htm": [
"8ceb41543f928c918010000d638099faeb674980",
"testharness"
],
"workers/WorkerGlobalScope_ErrorEvent_filename.htm": [
"214fa60fcfeaf0226bfcbaca01b7f5c0fb589e98",
--- a/testing/web-platform/tests/webdriver/tests/element_retrieval/find_element.py
+++ b/testing/web-platform/tests/webdriver/tests/element_retrieval/find_element.py
@@ -66,8 +66,18 @@ def test_no_element(session, using, valu
("xpath", "//*[name()='a']")])
def test_xhtml_namespace(session, using, value):
session.url = inline("""<a href="#" id="linkText">full link text</a>""", doctype="xhtml")
expected = session.execute_script("return document.links[0]")
response = find_element(session, using, value)
value = assert_success(response)
assert_same_element(session, value, expected)
+
+
+@pytest.mark.parametrize("using,value",
+ [("css selector", ":root"),
+ ("tag name", "html"),
+ ("xpath", "/html")])
+def test_htmldocument(session, using, value):
+ session.url = inline("")
+ response = find_element(session, using, value)
+ assert_success(response)
--- a/testing/web-platform/tests/webdriver/tests/element_retrieval/find_elements.py
+++ b/testing/web-platform/tests/webdriver/tests/element_retrieval/find_elements.py
@@ -72,8 +72,20 @@ def test_xhtml_namespace(session, using,
response = find_elements(session, using, value)
value = assert_success(response)
assert isinstance(value, list)
assert len(value) == 1
found_element = value[0]
assert_same_element(session, found_element, expected)
+
+
+@pytest.mark.parametrize("using,value",
+ [("css selector", ":root"),
+ ("tag name", "html"),
+ ("xpath", "/html")])
+def test_htmldocument(session, using, value):
+ session.url = inline("")
+ response = find_elements(session, using, value)
+ value = assert_success(response)
+ assert isinstance(value, list)
+ assert len(value) == 1