What to choose for e2e on SPA app ?

twitter logo github logo Updated on ・1 min read

WHAT AND WHY will you choose TODAY for testing an E2E SPA app
(it is Micro frontend mostly React but there is some Angular 7 as well and who knows Vue may appear even )

Options:

  • Selenium
  • Puppeteer
  • Cypress
  • TestCafe
  • CodeceptJS
  • Telerik Test Studio
  • Something else ?

My observations so far:

  • Selenium - the only reason will be cross browser testing.
  • Puppeteer, Cypress are Chromium Only rely on Chrome DevTools, maybe Cypress is the most common out of the 3 ?
  • Codecept is something in between it can work on top of WebDriver (SeleniuM) or Puppeteer (Chrome only) not sure how different is the API in both cases but it looks like a nice abstraction to have.
  • TestCafe and Telerik Test Studio - I have 0 insight.
twitter logo DISCUSS (5)
markdown guide
 

I have only tried Selenium and Cypress. For me cypress is the best "developer friendly" tool. Also the community has an acceptable size. Can't find really complex examples though.

Can't compare performance as I have never measured it

 

CodeceptJs can use other drivers too, it's not Chrome only.

 

hmm oh yes it states "easy switch between WebDriver or Puppeteer." so .. I guess WebDriver (Selenium) is for other browsers.. but this doesn't seems to be like same tests will work equally good :) but yes it's an option, maybe if you already have experience with the API but there is another project that requires firefox support it will be easier for QAs to switch instead of write all using the Selenium API

Thanks !

 

Well, it's quite misleading to say CodeceptJs is Chrome only. It's default configuration with WebDriver supports Firefox and Chrome. And you can configure any other Webdriver backend too.

yes yes that's true I was thinking that by default it uses Puppeteer (which is chrome only) my mistake will edit it :)

Classic DEV Post from May 23

What are you "old enough to remember" in software development?

Nayden Gochev profile image
Superhero with Java powers && Gamer && (Sci-Fi & Star Wars geek) && Bulgarian Java User Group Leader && nerds2nerds podcaster && http://java.beer organizer ? this : null