AOE Technology RadarAOE Technology Radar
This item was not updated in last three versions of the Radar. Should it have appeared in one of the more recent editions, there is a good chance it remains pertinent. However, if the item dates back further, its relevance may have diminished and our current evaluation could vary. Regrettably, our capacity to consistently revisit items from past Radar editions is limited.
Adopt

Cypress has proven itself in AOE projects. With its support for JavaScript and TypeScript, Cypress is a testing tool that strongly resonates with front-end developers. It is very easy to adopt, and the test specifications are easy to implement and maintain. Test execution is swift, and the results are well-documented, understandable, and easy to publish, for example, via GitLab Pages.

Currently, it supports Chrome, Firefox, and Electron.

Assess

Cypress is a front-end testing tool (E2E). It comes as a simple node package, making it easy to use and maintain for front-end developers and testers. Cypress has a different approach than Selenium; it runs in the browser and in the same loop as the device under test.

Good:

Not so good:

  • No cross-browser testing (only Chrome and Electron)
  • Scenarios with multiple browser tabs cannot be tested
  • Relatively new test tool, although it is becoming more popular

Example of a test:

describe('My First Test', function() {
  it('Visits the Kitchen Sink', function() {
    cy.visit('https://example.cypress.io')

    cy.contains('type').click()

    cy.url().should('include', '/commands/actions')

    cy.get('.action-email')
      .type('fake@email.com')
      .should('have.value', 'fake@email.com')
  })
})