Mozilla Test Automation
The W3C Overview
Ocotober 2011
Automation Structure

Test Harnesses

  • C++ Unit
  • XPCShell
  • Reftest
  • Mochitest
  • UI Automation Frameworks
  • Marionette

Reftest
Style and layout visual comparison Testing

Reference

      <html>
        <body>
          <p><b>This is bold</b></p>
        </body>
      </html>
      

Test

      <html>
        <body>
          <p style="font-weight:bold">This is bold</p>
        </body>
      </html>
       

Mochitest
DOM/JS/Browser Behavior Testing
Marionette
Driving Gecko Into the Future

This is a mechanism we can use to drive any Gecko based application either by UI or by inserting script actions into its various script contexts. Read more about it.

How it works

  1. Socket opened from inside gecko
  2. Connect to socket from test harness (either local or remote)
  3. Send JSON protocol (based on this protocol) to it
  4. It translates JSON protocol into browser actions
  5. Sends results back to harness in JSON

Putting it all Together

All these tests run on each check-in, and are displayed on the dashboards for our build and test infrastructure.

Thanks!!!

Clint Talbert