Fix some shadow root tests (#29924)
diff --git a/tools/webdriver/webdriver/client.py b/tools/webdriver/webdriver/client.py
index 2c7b1c5..61c04a3 100644
--- a/tools/webdriver/webdriver/client.py
+++ b/tools/webdriver/webdriver/client.py
@@ -392,7 +392,7 @@
@classmethod
def from_json(cls, json, session):
uuid = json[ShadowRoot.identifier]
- return cls(uuid, session)
+ return cls(session, uuid)
def send_shadow_command(self, method, uri, body=None):
url = "shadow/{}/{}".format(self.id, uri)
diff --git a/webdriver/tests/find_element_from_shadow_root/find.py b/webdriver/tests/find_element_from_shadow_root/find.py
index 87941d4..1d3e6fb 100644
--- a/webdriver/tests/find_element_from_shadow_root/find.py
+++ b/webdriver/tests/find_element_from_shadow_root/find.py
@@ -54,7 +54,7 @@
shadow_root = custom_element.shadow_root
session.refresh()
- response = find_element(session, shadow_root.id, "css", "input")
+ response = find_element(session, shadow_root.id, "css selector", "input")
assert_error(response, "detached shadow root")
@@ -64,7 +64,7 @@
expected = session.execute_script("return arguments[0].shadowRoot.querySelector('input')",
args=(custom_element,))
shadow_root = custom_element.shadow_root
- response = find_element(session, shadow_root.id, "css", "input")
+ response = find_element(session, shadow_root.id, "css selector", "input")
value = assert_success(response)
assert_same_element(session, value, expected)
@@ -83,7 +83,7 @@
args=(custom_element,))
shadow_root = custom_element.shadow_root
response = find_element(session, shadow_root.id, using, value)
- assert_success(response)
+ value = assert_success(response)
assert_same_element(session, value, expected)
@@ -104,7 +104,7 @@
shadow_root = custom_element.shadow_root
response = find_element(session, shadow_root.id, "link text", value)
- assert_success(response)
+ value = assert_success(response)
assert_same_element(session, value, expected)
@@ -126,7 +126,7 @@
shadow_root = custom_element.shadow_root
response = find_element(session, shadow_root.id, "partial link text", value)
- assert_success(response)
+ value = assert_success(response)
assert_same_element(session, value, expected)
diff --git a/webdriver/tests/find_element_from_shadow_root/user_prompts.py b/webdriver/tests/find_element_from_shadow_root/user_prompts.py
index 3813a7d..e1326cf 100644
--- a/webdriver/tests/find_element_from_shadow_root/user_prompts.py
+++ b/webdriver/tests/find_element_from_shadow_root/user_prompts.py
@@ -14,7 +14,7 @@
return session.transport.send(
"POST", "session/{session_id}/shadow/{shadow_id}/element".format(
session_id=session.session_id,
- element_id=shadow_id),
+ shadow_id=shadow_id),
{"using": using, "value": value})
diff --git a/webdriver/tests/find_elements_from_shadow_root/find.py b/webdriver/tests/find_elements_from_shadow_root/find.py
index f70a4b4..5336ac1 100644
--- a/webdriver/tests/find_elements_from_shadow_root/find.py
+++ b/webdriver/tests/find_elements_from_shadow_root/find.py
@@ -13,8 +13,8 @@
{"using": using, "value": value})
-def test_null_parameter_value(session, http, inline):
- session.url = inline("<div><a href=# id=linkText>full link text</a></div>")
+def test_null_parameter_value(session, http, get_shadow_page):
+ session.url = get_shadow_page("<div><a href=# id=linkText>full link text</a></div>")
custom_element = session.find.css("custom-shadow-element", all=False)
shadow_root = custom_element.shadow_root
@@ -54,7 +54,7 @@
shadow_root = custom_element.shadow_root
session.refresh()
- response = find_elements(session, shadow_root.id, "css", "input")
+ response = find_elements(session, shadow_root.id, "css selector", "input")
assert_error(response, "detached shadow root")
@@ -62,7 +62,7 @@
session.url = get_shadow_page("<div><input id='check' type='checkbox'/><input id='text'/></div>")
custom_element = session.find.css("custom-shadow-element", all=False)
shadow_root = custom_element.shadow_root
- response = find_elements(session, shadow_root.id, "css", "input")
+ response = find_elements(session, shadow_root.id, "css selector", "input")
assert_success(response)
@@ -92,7 +92,6 @@
def test_find_elements_link_text(session, get_shadow_page, document, value):
# Step 8 - 9
session.url = get_shadow_page("<div><a href=#>not wanted</a><br/>{0}</div>".format(document))
- element = session.find.css("div", all=False)
custom_element = session.find.css("custom-shadow-element", all=False)
shadow_root = custom_element.shadow_root
expected = session.execute_script("return arguments[0].shadowRoot.querySelectorAll('a')[1]",
@@ -119,7 +118,6 @@
def test_find_elements_partial_link_text(session, get_shadow_page, document, value):
# Step 8 - 9
session.url = get_shadow_page("<div><a href=#>not wanted</a><br/>{0}</div>".format(document))
- element = session.find.css("div", all=False)
custom_element = session.find.css("custom-shadow-element", all=False)
shadow_root = custom_element.shadow_root
expected = session.execute_script("return arguments[0].shadowRoot.querySelectorAll('a')[1]",
diff --git a/webdriver/tests/find_elements_from_shadow_root/user_prompts.py b/webdriver/tests/find_elements_from_shadow_root/user_prompts.py
index c4b903c..9950999 100644
--- a/webdriver/tests/find_elements_from_shadow_root/user_prompts.py
+++ b/webdriver/tests/find_elements_from_shadow_root/user_prompts.py
@@ -14,7 +14,7 @@
return session.transport.send(
"POST", "session/{session_id}/shadow/{shadow_id}/elements".format(
session_id=session.session_id,
- element_id=shadow_id),
+ shadow_id=shadow_id),
{"using": using, "value": value})
diff --git a/webdriver/tests/support/asserts.py b/webdriver/tests/support/asserts.py
index e60d53b..bc59d7b 100644
--- a/webdriver/tests/support/asserts.py
+++ b/webdriver/tests/support/asserts.py
@@ -7,6 +7,7 @@
# WebDriver specification ID: dfn-error-response-data
errors = {
+ "detached shadow root": 404,
"element click intercepted": 400,
"element not selectable": 400,
"element not interactable": 400,
@@ -23,6 +24,7 @@
"no such cookie": 404,
"no such element": 404,
"no such frame": 404,
+ "no such shadow root": 404,
"no such window": 404,
"script timeout": 500,
"session not created": 500,