Summit2008/Sessions/Proposals/Automating Firefox UI Testing

From MozillaWiki
Jump to: navigation, search

Automating Firefox UI actions through Gristmill as a means of accessible QA automation. [Clint, Mikeal, Adam, etc]



mozrunner (Python library)

  • launch/kill/wait for Mozilla applications
  • profile managament
  • plugin installation

jsbridge (Python libary + MozRepl plugin)

  • complete Python <-> JavaScript bridge
  • uses telnet interface from MozRepl plugin
  • includes async callback system for listening of JavaScript events from Python

MozMill (Mozilla Plugin)

  • initially a port of the Windmill test API to chrome
  • new test editing/exectution UI, inspector and recorder
  • runs fully trusted
  • uses jsbridge callback system for async results reporting and status messages

Writing a test

  • tests are written in JavaScript
  • framework structure
  • debugging tools


The talk logically separates in to two parts. The "Foundations" section covers the Python libraries developed to overcome some of the barriers we face having the system and continuous integration layer communicate with and control the browser. The second section is "MozMill" which is a new plugin which implements the test API, framework, and test creation/execution/debugging UI.

The importance of separating the two components is that many new test tools and frameworks can be created for testing Firefox or other Mozilla applications just by using the Python libraries which make the foundation of this new test automation project. The second section is a much more Mozilla UI testing specific piece of technology which should be much more hands on and leave the audience with something to immediately play with.