You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@metron.apache.org by "Shane Ardell (JIRA)" <ji...@apache.org> on 2018/07/02 15:50:00 UTC

[jira] [Created] (METRON-1648) Use Cypress instead of Protractor to run e2e tests

Shane Ardell created METRON-1648:
------------------------------------

             Summary: 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: Bug
            Reporter: Shane Ardell


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.
* 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.
* We are currently unable to integrate Protractor e2e tests into Travis. With Cypress, [it's possible to add these tests to our CI|https://docs.cypress.io/guides/guides/continuous-integration.html#Example-travis-yml-config-file].



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