WebDriver/Marionette/DevNotes: Difference between revisions
No edit summary |
|||
Line 13: | Line 13: | ||
== Questions == | == Questions == | ||
* How does will the browser work in B2G, how does it behave? Is it the same Fennec or is it different? | * How does will the browser work in B2G, how does it behave? Is it the same Fennec or is it different? | ||
** Exactly the same fennec code, only it is started when you bring up the browser. As yet, the codebase is unforked in this capacity, and the drive is to not fork the gecko platform between "normal" fennec and the fennec layer running on B2G | |||
* What is the difference between chrome and content in terms of dispatching actions to either group? | * What is the difference between chrome and content in terms of dispatching actions to either group? | ||
** You can see the difference in dispatching a script call by looking at what the scratchpad does - alternately execute in chrome or content depending on what the user has selected on a menu: | |||
*** http://mxr.mozilla.org/mozilla-central/source/browser/devtools/scratchpad/scratchpad.js#332 | |||
For dispatching "events" we will use message managers to dispatch into content (you're coming from chrome). Dispatching for chrome is easy since you're already in chrome. | |||
* What is the B2G UI environment? XUL, HTML5? How does a11y interface handle them? | * What is the B2G UI environment? XUL, HTML5? How does a11y interface handle them? | ||
** HTML5. that's the point of B2G. A11y will have to handle it, and may have to have capabilities developed in parallel. that's why we're working with dbolter. | |||
* Do we need to worry about a11y in a multiprocess environment (ie: can we dispatch a11y commands to both chrome and content?) | * Do we need to worry about a11y in a multiprocess environment (ie: can we dispatch a11y commands to both chrome and content?) | ||
** No, a11y by definition has to be able to do this. We will hopefully be able to let the a11y subsystem handle it. |
Revision as of 21:20, 7 October 2011
Brief Overview
Marionette will function on the JSON Wire Protocol with support for the remote debugger protocol. It will respond to commands by dispatching the requested actions to the requested targets. This will be done by having Marionette be a root actor that sends our testing requests to an actor that will dispatch the requested action.
Marionette & Eideticker integration
Marionette should support two Eideticker tests:
- start the browser and load a page
- start the browser, do some interaction (click and type), close browser
It should be able to respond to json wire protocol commands that would allow these two tests to complete. Eideticker will no longer need to use JSBridge or its own firefox extension once Marionette has support for these actions.
Initially, we will be allowing an execute script call to come into Marionette. It will execute a blob of Javascript and return the script results Following this, we will allow an execute asynchronous call so that we can support events that require waiting (page load, etc.).
Questions
- How does will the browser work in B2G, how does it behave? Is it the same Fennec or is it different?
- Exactly the same fennec code, only it is started when you bring up the browser. As yet, the codebase is unforked in this capacity, and the drive is to not fork the gecko platform between "normal" fennec and the fennec layer running on B2G
- What is the difference between chrome and content in terms of dispatching actions to either group?
- You can see the difference in dispatching a script call by looking at what the scratchpad does - alternately execute in chrome or content depending on what the user has selected on a menu:
For dispatching "events" we will use message managers to dispatch into content (you're coming from chrome). Dispatching for chrome is easy since you're already in chrome.
- What is the B2G UI environment? XUL, HTML5? How does a11y interface handle them?
- HTML5. that's the point of B2G. A11y will have to handle it, and may have to have capabilities developed in parallel. that's why we're working with dbolter.
- Do we need to worry about a11y in a multiprocess environment (ie: can we dispatch a11y commands to both chrome and content?)
- No, a11y by definition has to be able to do this. We will hopefully be able to let the a11y subsystem handle it.