You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support: 86 Git contributors, several commits a day Capabilities: Testing suite that seems to incorporate Chai, Mocha. Can do screenshots, too Limitations: More of a test runner like Karma than a direct replacement for PhantomJS. Notes:
Support: Facebook Capabilities: Unit and integration tests; would take over a lot from Karma Limitations: More of a general testing platform than a specific headless browser Notes: Seems like it wants to do more of Webpack's job that we'd currently give it
Support: 229 Git contributors, release code every 2-5 weeks Capabilities: Headless DOM Limitations: Doesn't test in actual browsers Notes: Interesting but seems like it's more for React components than functions and UI tests
Support: 96 Git contributors, commit code every couple days Capabilities: Lets us call Node modules from within the browser Limitations: Notes: Doesn't seem like what we need
Support: Puppeteer has been acquired by Google so we should have stronger and stronger support for a while. Puppeteer has become the basis for several other testing packages. 193 Git contributors. Looks like there are updates every day Capabilities: Typical headless browser, but can generate screenshots and PDFs, timeline trace to help diagnose performance issues Limitations: Only tests in Chrome Notes: Chrome is the most-used browser by a long shot. Soon, IE/Edge will be powered by Chromium. We currently only test in Chrome (though we should expand that) so we wouldn't be losing anything. This is the leading candidate as of concluding research, before team discussion
Support: 62 Git contributors. Latest commit was May 2018 Capabilities: Headless browser that tried to fully mimic PhantomJS but with Gecko and SpiderMonkey—and Slimer fully supports ES6 Limitations: Uses Gecko, the Firefox engine Notes: Seems promising as part of a broader testing platform, though the lack of updates is a concern
Support: Controls any web browser Capabilities: Standard, if limited testing automation Limitations: Features are limited to those that apply to every browser. Updates are slow to roll out Notes: Good that it can be used with any browser but not great that it's slow to update
Is a virtual framebuffer—essentially a browser window that never draws to the screen Support: Capabilities: Limitations: Notes: Often mentioned in discussions of automated testing but doesn't seem like what we need
Support: 128 Git contributors, seems like there's an update every couple months but have been more and way less frequent Capabilities: assert, browser controls, cookies, tabs Limitations: Doesn't seem to support typical browsers. Can't save screenshots Notes:
Other options and considerations
Now that we're using a new Node, should we look into alternatives for Karma (like using Node to sequence tests itself)?
The text was updated successfully, but these errors were encountered:
@johnnyporkchops, @patphongs, and I met to discuss these findings. We decided to go with Puppeteer for now to get tests in and working, and keep an eye on other options to expand testing for other browsers. Closing the ticket now.
Let's look into options and choose a new JavaScript testing package, to replace PhantomJS at a minimum.
What are the pain points for our current setup?
What features do we require?
What would be nice to have?
Our current setup:
Do we have any compatibility issues?
Options
Browserless (Git)
Support:
Capabilities:
Limitations: It's a subscription service
Notes: Built on top of Puppeteer
Cypress (Git)
Support: 86 Git contributors, several commits a day
Capabilities: Testing suite that seems to incorporate Chai, Mocha. Can do screenshots, too
Limitations: More of a test runner like Karma than a direct replacement for PhantomJS.
Notes:
Jest (Git)####
Support: Facebook
Capabilities: Unit and integration tests; would take over a lot from Karma
Limitations: More of a general testing platform than a specific headless browser
Notes: Seems like it wants to do more of Webpack's job that we'd currently give it
Jsdom
Support: 229 Git contributors, release code every 2-5 weeks
Capabilities: Headless DOM
Limitations: Doesn't test in actual browsers
Notes: Interesting but seems like it's more for React components than functions and UI tests
NW.js (Git)
Support: 96 Git contributors, commit code every couple days
Capabilities: Lets us call Node modules from within the browser
Limitations:
Notes: Doesn't seem like what we need
Puppeteer (Git)
Support: Puppeteer has been acquired by Google so we should have stronger and stronger support for a while. Puppeteer has become the basis for several other testing packages. 193 Git contributors. Looks like there are updates every day
Capabilities: Typical headless browser, but can generate screenshots and PDFs, timeline trace to help diagnose performance issues
Limitations: Only tests in Chrome
Notes: Chrome is the most-used browser by a long shot. Soon, IE/Edge will be powered by Chromium. We currently only test in Chrome (though we should expand that) so we wouldn't be losing anything. This is the leading candidate as of concluding research, before team discussion
SlimerJS (Git)
Support: 62 Git contributors. Latest commit was May 2018
Capabilities: Headless browser that tried to fully mimic PhantomJS but with Gecko and SpiderMonkey—and Slimer fully supports ES6
Limitations: Uses Gecko, the Firefox engine
Notes: Seems promising as part of a broader testing platform, though the lack of updates is a concern
WebDriver / Selenium
Support: Controls any web browser
Capabilities: Standard, if limited testing automation
Limitations: Features are limited to those that apply to every browser. Updates are slow to roll out
Notes: Good that it can be used with any browser but not great that it's slow to update
xvfb
Is a virtual framebuffer—essentially a browser window that never draws to the screen
Support:
Capabilities:
Limitations:
Notes: Often mentioned in discussions of automated testing but doesn't seem like what we need
Zombie.js (Git)
Support: 128 Git contributors, seems like there's an update every couple months but have been more and way less frequent
Capabilities: assert, browser controls, cookies, tabs
Limitations: Doesn't seem to support typical browsers. Can't save screenshots
Notes:
Other options and considerations
Now that we're using a new Node, should we look into alternatives for Karma (like using Node to sequence tests itself)?
The text was updated successfully, but these errors were encountered: