dmtrkovalenko
dmtrKovalenko
slides.com/dkovalenko
Writing tests
 brew install node
 npm install cypress  npx cypress opendescribe('Login', () => {
  beforeEach(() => {
    cy.visit('/login')
  })
  it('Should validate email', () => {
    cy.get("#email").type("something{enter}")
    cy.get("#validation-error").should('contain', "Invalid email")
  })
  it('Should submit login form', () => {
    cy.get("#email").type("admin@cypress.io")
    cy.get("#password").type("qwerty")
    cy.get("#loginForm").submit()
    cy.url().should('include', 'dashboard')
  })
})const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch();
  const page = await browser.newPage();
  await page.goto('https://example.com');
  await page.screenshot({path: 'example.png'});
  await browser.close();
})();describe('Login', () => {
  beforeEach(() => {
    cy.visit('/login')
  })
  it('Should validate email', () => {
    cy.get("#email").type("something{enter}")
    cy.get("#validation-error").should('contain', "Invalid email")
  })
  it('Should submit login form', () => {
    cy.get("#email").type("admin@cypress.io")
    cy.get("#password").type("qwerty")
    cy.get("#loginForm").submit()
    cy.url().should('include', 'dashboard')
  })
})describe('Login', () => {
  let user = cy
  
  beforeEach(() => {
    user.visit('/login')
  })
  it('Should validate email', () => {
    user.get("#email").type("something{enter}")
    user.get("#validation-error").should('contain', "Invalid email")
  })
  it('Should submit login form', () => {
    user.get("#email").type("admin@cypress.io")
    user.get("#password").type("qwerty")
    user.get("#loginForm").submit()
    user.url().should('include', 'dashboard')
  })
})Web Driver
npm install @percy/cypress// In cypress/plugins/index.js
let percyHealthCheck = require("@percy/cypress/task")
module.exports = (on, config) => {
  on("task", percyHealthCheck);
};// At the top of cypress/support/commands.js
import "@percy/cypress";  it("Shows main page", () => {
    cy.visit("https://www.testcon.lt/")
    cy.percySnapshot('Main')
  })