Open Bug 1504359 Opened 6 years ago Updated 2 years ago

"Execute Script" values incorrectly interpreted as arrays

Categories

(Remote Protocol :: Marionette, defect, P2)

Version 3
defect

Tracking

(Not tracked)

People

(Reporter: jugglinmike, Unassigned)

References

(Blocks 1 open bug)

Details

If the result of "Execute Script" or "Execute Async Script" is an "arguments" object or a proxied array instance, the value should be serialized as a JSON object. Geckodriver serializes the value as an Array. Tests for this behavior have been submitted to the web-platform-tests project: https://github.com/web-platform-tests/wpt/pull/13880 $ ./_venv/bin/geckodriver --version geckodriver 0.23.0 (a6493a0b53a3 2018-11-02 06:40 +0000) The source code of this program is available from testing/geckodriver in https://hg.mozilla.org/mozilla-central. This program is subject to the terms of the Mozilla Public License 2.0. You can obtain a copy of the license at https://mozilla.org/MPL/2.0/. $ ./_venv/browsers/nightly/firefox/firefox --version Mozilla Firefox 65.0a1
This is actually a bug in Marionette: > [task 2018-11-04T22:32:13.028Z] 22:32:13 INFO - PID 7684 | 1541370733019 Marionette TRACE 0 -> [0,3,"WebDriver:ExecuteScript",{"args":[],"script":"\n function func() {\n return arguments;\n }\n return func(\"foo\", \"bar\");\n "}] > [task 2018-11-04T22:32:13.032Z] 22:32:13 INFO - PID 7684 | 1541370733028 Marionette TRACE 0 <- [1,3,null,{"value":["foo","bar"]}]
Blocks: webdriver
Component: geckodriver → Marionette
Priority: -- → P2
The definition of a "collection" in WebDriver is currently being discussed, so it's probably best to hold off on change until that's complete: https://github.com/w3c/webdriver/issues/1347
Severity: normal → S3
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.