Cypress

yarn add -D cypress

Usage

Based off jQuery, Mocha and Chai with many of the same selector and test interfaces

Queues all the commands async so use .then() and such to handle conditionals

Supports ES6 and importing packages out of the box

// Each method is equivalent to its jQuery counterpart. Use what you know!
cy.get('#main-content')
  .find('.article')
  .children('img[src^="/static"]')
  .first()
./node_modules/.bin/cypress open

Yup no imports or anything needed

/* global describe it cy */
describe('My First Test', () => {
  it('finds the content "type"', () => {
    cy.visit('https://example.cypress.io')

        cy.get('.main').contains('New Post')
    cy.contains('Like article')

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

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

Commands

Cy will retry most commands until it finds the element or timeouts(default 4 secs)

Should

Advanced

Hooks(Lifecycle?)

Act on A Subject Sync with .then()

Assertions

  1. Implicit Subjects: Using .should() or .and().

  1. Explicit Subjects: Using expect, harder not recommended

Other

Last updated