Auto-tools/Projects/Eideticker

From MozillaWiki
Jump to: navigation, search

User Story Notes

Basic Animation Story

Video capture work, first edition: A specially-configured Talos will drive the browser startup/video capture process. It is/will be modified to:

  1. . Perform only one cycle of the application (normally talos runs tests multiple times), at least for now.
  2. . Trigger start/stop video capture when the browser sends a message back to talos via jsbrige.

Obviously we need some sort of out-of-browser tool for triggering this, and I've settled on using jsbridge for the initial prototype.

jsbridge is a tiny extension to firefox that, combined with a small python library, lets you send commands to firefox and receive notifications. What commands? Well that's up to you. :)

jsbridge is merely a tcp transport that sends/receives json messages. You really need to create your own firefox extensions which uses jsbridge in order to take advantage of its capabilities. Mozmill (the framework for which jsbridge was originally designed) has its own extension which uses jsbridge to drive UI automation.

For Eideticker, I've created a basic one for prototyping purposes here: https://github.com/markrcote/eideticker/tree/master/src/ffx-extension

This extension basically puts an EController object on the DOM, so you can send messages like this from content:

    EController.pageLoaded();
    EController.animationFinished();

You can then "listen" for these messages from python by creating a little script like this: https://gist.github.com/1270763

I haven't finished the other end of things yet (listening for methods from python inside fi), but it should be straightforward to add. JSBridge already has support for this.