Closed Bug 1358311 Opened 7 years ago Closed 7 years ago

Attempting send_keys to a textarea element fails for Marionette in Firefox 53

Categories

(Remote Protocol :: Marionette, defect)

53 Branch
defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WORKSFORME

People

(Reporter: allison, Unassigned)

Details

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36

Steps to reproduce:

Create a simple HTML page with a textarea:

<html>
<textarea id="foo"></textarea>
</html>

Launch Firefox with Marionette enabled:

/Applications/Firefox.app/Contents/MacOS/firefox -marionette

Run the Marionette Python client (pip install marionette_driver) with this script:

from marionette_driver.marionette import Marionette
from marionette_driver import By

client = Marionette('localhost', port=2828)
client.start_session()
client.navigate("<the page above>")
element = client.find_element(By.ID, 'foo')
element.send_keys('bar')


Actual results:

Marionette throws an InvalidArgumentException: Expected [object Undefined] undefined to be a string.

Full stack trace:

Traceback (most recent call last):
  File "marionetteclient.py", line 8, in <module>
    element.send_keys('bar')
  File "/Users/allison/.virtualenvs/marionette/lib/python2.7/site-packages/marionette_driver/marionette.py", line 99, in send_keys
    self.marionette._send_message("sendKeysToElement", body)
  File "/Users/allison/.virtualenvs/marionette/lib/python2.7/site-packages/marionette_driver/decorators.py", line 36, in _
    return func(*args, **kwargs)
  File "/Users/allison/.virtualenvs/marionette/lib/python2.7/site-packages/marionette_driver/marionette.py", line 688, in _send_message
    self._handle_error(err)
  File "/Users/allison/.virtualenvs/marionette/lib/python2.7/site-packages/marionette_driver/marionette.py", line 721, in _handle_error
    raise errors.lookup(error)(message, stacktrace=stacktrace)
marionette_driver.errors.InvalidArgumentException: InvalidArgumentException: Expected [object Undefined] undefined to be a string
stacktrace:
	WebDriverError@chrome://marionette/content/error.js:200:5
	InvalidArgumentError@chrome://marionette/content/error.js:290:5
	assert.that/<@chrome://marionette/content/assert.js:345:13
	assert.string@chrome://marionette/content/assert.js:259:10
	GeckoDriver.prototype.sendKeysToElement@chrome://marionette/content/driver.js:2146:3
	TaskImpl_run@resource://gre/modules/Task.jsm:319:42
	TaskImpl@resource://gre/modules/Task.jsm:277:3
	asyncFunction@resource://gre/modules/Task.jsm:252:14
	Task_spawn@resource://gre/modules/Task.jsm:166:12
	TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:389:16
	TaskImpl_run@resource://gre/modules/Task.jsm:327:15
	TaskImpl@resource://gre/modules/Task.jsm:277:3
	asyncFunction@resource://gre/modules/Task.jsm:252:14
	Task_spawn@resource://gre/modules/Task.jsm:166:12
	Dispatcher.prototype.execute@chrome://marionette/content/dispatcher.js:118:13
	Dispatcher.prototype.onPacket@chrome://marionette/content/dispatcher.js:89:5
	_onJSONObjectReady/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/transport/transport.js:483:11
	exports.makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14
	exports.makeInfallible/<@resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/shared/ThreadSafeDevToolsUtils.js:101:14


Expected results:

The textarea should have received the input "bar".
This is a duplicate of https://github.com/mozilla/geckodriver/issues/659, which has been fixed.
Status: UNCONFIRMED → RESOLVED
Closed: 7 years ago
Resolution: --- → WORKSFORME
Product: Testing → Remote Protocol
You need to log in before you can comment on or make changes to this bug.