Runner specification

All browser checks run in a sandboxed runtime environment on our cloud backend. You do not have full access to the Node.js standard library or to arbitrary NPM modules. Currently every runner is equipped with the following libraries:

Built-in modules

  • assert
  • buffer
  • crypto
  • dns
  • path
  • querystring
  • readline
  • stream
  • string_decoder
  • stream
  • timers
  • tls
  • url
  • util
  • zlib

See the built-in module documentation on the official Node.js site

External modules

  • node 12.x LTS: The general Node.js execution environment.
  • puppeteer 2.0.0: Framework for controlling browsers from Node.js.
    • chromium 77.0.3844.0 (r674921): Chrome browser used with Puppeteer.
  • playwright 1.4.0: Framework for controlling browsers from Node.js.
    • chromium 83.0.4103.0: Chrome browser used with Playwright.
  • chai 4.2.0: Popular assertion library.
  • expect 26.6.2: The Jest expect assertion library.
  • mocha 5.0.0: Popular test runner library.
  • assert 12.x: Built-in assertion function.
  • moment 2.22.2: Popular library for all things time related.
  • axios 0.18.0: A modern HTTP library. Support async/await.
  • crypto-js 3.1.9: Cryptographic function library.
  • lodash 4.x.x: Javascript toolkit for many object, array and other functions.
  • aws4 1.8.0: Third-party library for easily signing AWS API requests.
  • form-data 3.x.x: Third-party library for creating form data.

By default, all our runners have their timezone set to UTC, regardless of their location.

Note: It is not possible to use both Playwright and Puppeteer in the same Browser Check script.