1
0
Fork 0
mirror of https://github.com/mozilla/pdf.js.git synced 2025-04-19 22:58:07 +02:00
pdf.js/test
Tim van der Meij 4834a276fd
Introduce Puppeteer for handling browsers during tests
This commit replaces our own infrastructure for handling browsers during
tests with Puppeteer. Using our own infrastructure for this had a few
downsides:

- It has proven to not always be reliable, especially when closing the
  browser, causing failures on the bots because browsers were still
  running even though they should have been stopped. Puppeteer should do
  a better job with this because it uses the browser's test built-in
  instrumentation tools for this (the devtools protocol) which our code
  didn't. This also means that we don't have to pass
  parameters/preferences to tweak browser behavior anymore.
- It requires the browsers under test to be installed on the system,
  whereas Puppeteer downloads the browsers before the test. This means
  that setup is much easier (no more manual installations and browser
  manifest files) as well as testing with different browser versions
  (since they can be provisioned on demand). Moreover, this ensures that
  contributors always run the tests in both Firefox and Chrome,
  regardless of which browsers they have installed locally.
- It's all code we have to maintain, so Puppeteer abstracts away how the
  browsers start/stop for us so we don't have to keep that code.

By default, Puppeteer only installs one browser during installation,
hence the need for a post-install script to install the second browser.
This requires `cross-env` to make passing the environment variable work
on both Linux and Windows.
2020-04-27 13:03:12 +02:00
..
chromium Update Prettier to version 2.0 2020-04-14 12:28:14 +02:00
features Remove usage of mozFillRule 2017-01-29 23:24:44 +01:00
font Identify browsers using the name instead of the path 2020-04-26 14:42:17 +02:00
pdfs Merge pull request #11805 from Snuffleupagus/issue-11794 2020-04-16 00:08:58 +02:00
resources Introduce Puppeteer for handling browsers during tests 2020-04-27 13:03:12 +02:00
stats Enable the dot-notation ESLint rule 2020-04-17 12:24:46 +02:00
ttx Update fonttools location and version (issue 6223) 2015-07-17 12:51:09 +02:00
unit Identify browsers using the name instead of the path 2020-04-26 14:42:17 +02:00
.eslintrc Fix badly formatted .eslintrc 2018-11-23 13:49:58 +01:00
.gitignore Ignore test snapshots directory. 2013-03-15 11:24:08 -07:00
add_test.js Update Prettier to version 2.0 2020-04-14 12:28:14 +02:00
annotation_layer_builder_overrides.css Convert all three-digit HEX colors to RGBA colors 2020-01-01 14:52:37 +01:00
downloadutils.js Update Prettier to version 2.0 2020-04-14 12:28:14 +02:00
driver.js Identify browsers using the name instead of the path 2020-04-26 14:42:17 +02:00
test.js Introduce Puppeteer for handling browsers during tests 2020-04-27 13:03:12 +02:00
test_manifest.json Merge pull request #11805 from Snuffleupagus/issue-11794 2020-04-16 00:08:58 +02:00
test_slave.html Use the SimpleLinkService when running "annotations" reference tests 2017-09-12 15:24:46 +02:00
testutils.js Update Prettier to version 2.0 2020-04-14 12:28:14 +02:00
text_layer_test.css Use span instead of div in the text layer 2018-11-18 15:54:08 +01:00
webserver.js Enable the dot-notation ESLint rule 2020-04-17 12:24:46 +02:00