Bug 1424635 - Test element retrieval of HTMLDocument. r?automatedtester draft
authorAndreas Tolfsen <ato@sny.no>
Thu, 14 Dec 2017 11:54:49 -0600
changeset 711800 fb51982a92f7708ca3a9829b4380d01c9aa5677a
parent 711692 8062887ff0d9382ea84177f2c21f62dc0e613d9e
child 711801 b4c77c297fbba48ec9d273cf24b08e6b64183eaa
push id93149
push userbmo:ato@sny.no
push dateThu, 14 Dec 2017 18:18:01 +0000
reviewersautomatedtester
bugs1424635
milestone59.0a1
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
testing/web-platform/meta/MANIFEST.json
testing/web-platform/tests/webdriver/tests/element_retrieval/find_element.py
testing/web-platform/tests/webdriver/tests/element_retrieval/find_elements.py
--- 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