Skip to content

In Depth Compatibility Description

Amila Welihinda edited this page Feb 12, 2017 · 2 revisions

TL;DR: Binary Search for browser versions

  1. Take all the records from all the providers. For each record, and for each browser, find the 'middle' the versions of a single browser. Add that version, the name of the browser's name, and the protoChainId (ex. 'Array.prototype.push') to a temporary list.
  2. Find the versions the browser versions that saucelabs needs to instantiate. In the previously created list, filter duplicate browser names and versions job queue.
  3. Send those browser names and versions to saucelabs and run the compatibility tests.
  4. If middle is not supported, mark all older versions and not supported. If middle is supported, mark all newer versions as supported. Remove the job from the job queue.
  5. Find the 'middle' of the versions whose compatibility has not been determined yet. Add that middle version, the browser name, and 'protoChainId' to the job queue.
  6. Recurse until there are no jobs on the job queue.

Clone this wiki locally