Tutorial: 7 - Documentation Links and Component Overview

7 - Documentation Links and Component Overview

  • webdriverio - our test runner, runs Selenium Webdriver under the hood.

  • mocha - our testing framework

  • chai - our assertion library, offering various assertion styles. We're also running these plugins:

    • chai-each allows assertions on each member of an array
    • chai-like for easier assertions on objects
    • chai-things for easier assertions on arrays.
    • dirty-chai to turn chai.expect(true).to.be.true into chai.expect(true).to.be.true() for StandardJS (our linter)
    • deep-equal-in-any-order allows array membership checks independent of order
  • mitmproxy - used as a proxy to capture network traffic from tests if enableProxy is active. Return the network logs split into steps, which allows us to do assertions on the network output. mitmproxy runs in Docker, and requires Sauce Connect (automatically activated in the background). For now, network capture is only possible if you're running your tests remotely (in Sauce Labs).

  • AudienceStream Trace - useful to confirm that AudienceStream use cases work as expected. Supports mid-journey trace checks and assertions, with guaranteed freshness checks.

  • Sauce Labs Automated Testing - our external Selenium grid, to enable cross-browser testing.

  • Sauce Connect Proxy from Sauce Labs, which we run inside a Docker container - the repo for that image is here. This lets us use a local Docker container running mitmproxy as our proxy (and to use your local machine's network/VPN to connect to private sites).