WebDriver/Marionette/DevNotes: Difference between revisions

Jump to navigation Jump to search
Line 28: Line 28:


Ultimately, we'll want to support Selenium test cases (or a modified version thereof).  Selenium supports tests in multiple languages; Java seems to be the primary one.  However, any additions we make to the JSON Wire Protocol that we'd like to add testrunner support for will require changes to the Selenium testrunners on a per-language basis, so it probably makes sense to standardize on one or two.  The [http://code.google.com/p/selenium/wiki/PythonBindings Selenium Python runner] seems to be a likely candidate, which would mean that Marionette tests would be written in Python.
Ultimately, we'll want to support Selenium test cases (or a modified version thereof).  Selenium supports tests in multiple languages; Java seems to be the primary one.  However, any additions we make to the JSON Wire Protocol that we'd like to add testrunner support for will require changes to the Selenium testrunners on a per-language basis, so it probably makes sense to standardize on one or two.  The [http://code.google.com/p/selenium/wiki/PythonBindings Selenium Python runner] seems to be a likely candidate, which would mean that Marionette tests would be written in Python.
In the shorter term, however, we'll support tests (again, probably in Python) that directly map commands to the Marionette JSON Protocol that the remote debugger will understand.


=== Test runner ===
=== Test runner ===
See above; we'll eventually probably want to support the Selenium Python test runner.  During development, however, we'll create a Python testrunner that will simply map commands to the Marionette JSON Protocol.  Eventually, this tool could be expanded to become the proxy that the Selenium runner will connect to, and will convert Selenium's JSON Wire Protocol to the Marionette JSON Protocol and forward to the remote debugger.


=== Marionette JSON Protocol ===
=== Marionette JSON Protocol ===
Confirmed users
1,905

edits

Navigation menu