w3c / w3c/webdriver

Element Send Keys should not use a new line character as separator for multiple files

Open
#1,263 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug Element Send Keys
Dominant language
HTML
Stars
718
Forks
228
PR merge metrics
No merged PRs in 30d

Description

Currently the remote steps for "Element Send Keys" allow to set multiple files which then are splitted by new line (\n):

https://w3c.github.io/webdriver/#dfn-element-send-keys

Let files be the result of splitting text on the newline (\n) character.

This is actually broken because some operating systems allow to use new line characters in the filename. Here an example from MacOS:

% touch "foo
\ bar"

% ls
'foo'$'\n''bar'

I discussed this with @andreastt and maybe we should better allow only one file per Element Send Keys invocation, given that there doesn't seem to exist a stable separator across platforms.

Not sure how other drivers are working in regards of that feature. @jimevans mind giving some feedback for IEDriver?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the Element Send Keys section of the WebDriver specification linked in the issue, focusing on how multiple files are split on newline characters. Review the reported MacOS filename example and the requested feedback about other drivers, including IEDriver. Done requires an agreed cross-platform behavior and a corresponding specification change.

Written by the indexing model from the issue text.

Assessment

Domain
api
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.