[ 
https://issues.apache.org/jira/browse/METRON-1648?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Shane Ardell updated METRON-1648:
---------------------------------
    Description: 
There are a handful of major advantages we will gain if we switch from 
Protractor to Cypress:

* As with most Selenium-based e2e testing frameworks, Protractor suffers from 
test flakiness. This is because Selenium runs outside of the browser and 
executes remote commands across the network. To work around this at the moment, 
we are using protractor-flake to re-run failed tests, but this is more of a 
crutch than a fix. Cypress executes in the same run loop as the application 
it's testing, and as a result does not suffer from the same flakiness.
* Cypress runs much faster than Protractor. This is especially critical if e2e 
tests are added to the CI build in the future.
* Protractor is incredibly hard to debug. In contrast, Cypress comes with a 
plethora of debugging features, some of which you can see here: 
https://vimeo.com/242961930#t=264s

  was:
There are a handful of major advantages we will gain if we switch from 
Protractor to Cypress:

* As with most Selenium-based e2e testing frameworks, Protractor suffers from 
test flakiness. This is because Selenium runs outside of the browser and 
executes remote commands across the network. To work around this at the moment, 
we are using protractor-flake to re-run failed tests, but this is more of a 
crutch than a fix to Metron's flaky tests. Cypress executes in the same run 
loop as the application it's testing and does not suffer from the same 
flakiness.
* In addition to being less flaky, Cypress runs much faster than Protractor. 
This is especially critical if e2e tests are added to the CI build in the 
future.
* Protractor is incredibly hard to debug. In contrast, Cypress can easily be 
debugged in the browser, has readable stack traces, has the ability to time 
travel, etc.


> Use Cypress instead of Protractor to run e2e tests
> --------------------------------------------------
>
>                 Key: METRON-1648
>                 URL: https://issues.apache.org/jira/browse/METRON-1648
>             Project: Metron
>          Issue Type: Improvement
>            Reporter: Shane Ardell
>            Priority: Major
>
> There are a handful of major advantages we will gain if we switch from 
> Protractor to Cypress:
> * As with most Selenium-based e2e testing frameworks, Protractor suffers from 
> test flakiness. This is because Selenium runs outside of the browser and 
> executes remote commands across the network. To work around this at the 
> moment, we are using protractor-flake to re-run failed tests, but this is 
> more of a crutch than a fix. Cypress executes in the same run loop as the 
> application it's testing, and as a result does not suffer from the same 
> flakiness.
> * Cypress runs much faster than Protractor. This is especially critical if 
> e2e tests are added to the CI build in the future.
> * Protractor is incredibly hard to debug. In contrast, Cypress comes with a 
> plethora of debugging features, some of which you can see here: 
> https://vimeo.com/242961930#t=264s



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to