Questions about data-driven testing

Selenium Builder
3 Feb 2014, 8:57 a.m.

Selenium Builder 2.2 includes some very basic support for data-driven testing, but now I need your input on how to complete it.

Currently, you can define a set of inputs for a script, and specify what values they should take.

You can use a JSON file of the format

[
  { key: value, key: value, ... },
  { key: value, key: value, ... },
  ...
]

to specify multiple rows of data, causing Builder to play back the test using each row of data in turn. Data is simply put into playback variables, so the script

print ${foo}

with the JSON file:

[ {"foo": "bar"}, {"foo": "quux"} ]

would run twice, printing "bar" and then "quux".

At this point, I would very much like your input on what features you would like to see for a robust data-driven testing support. Specifically, how would you like to see data-driven tests exported? Should the exported scripts contain code for accessing the data, or should the data be passed during script invocation / in the constructor?

Two things are already definitely planned: support for the XML format used by Selenium IDE data-driven testing, and support for data-driven testing in both the Java-based and node-based Selenium Interpreter.