| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- /// <reference types="cypress" />
- context('Misc', () => {
- beforeEach(() => {
- cy.visit('https://example.cypress.io/commands/misc')
- })
- it('.end() - end the command chain', () => {
- // https://on.cypress.io/end
- // cy.end is useful when you want to end a chain of commands
- // and force Cypress to re-query from the root element
- cy.get('.misc-table').within(() => {
- // ends the current chain and yields null
- cy.contains('Cheryl').click().end()
- // queries the entire table again
- cy.contains('Charles').click()
- })
- })
- it('cy.exec() - execute a system command', () => {
- // execute a system command.
- // so you can take actions necessary for
- // your test outside the scope of Cypress.
- // https://on.cypress.io/exec
- // we can use Cypress.platform string to
- // select appropriate command
- // https://on.cypress/io/platform
- cy.log(`Platform ${Cypress.platform} architecture ${Cypress.arch}`)
- // on CircleCI Windows build machines we have a failure to run bash shell
- // https://github.com/cypress-io/cypress/issues/5169
- // so skip some of the tests by passing flag "--env circle=true"
- const isCircleOnWindows = Cypress.platform === 'win32' && Cypress.env('circle')
- if (isCircleOnWindows) {
- cy.log('Skipping test on CircleCI')
- return
- }
- // cy.exec problem on Shippable CI
- // https://github.com/cypress-io/cypress/issues/6718
- const isShippable = Cypress.platform === 'linux' && Cypress.env('shippable')
- if (isShippable) {
- cy.log('Skipping test on ShippableCI')
- return
- }
- cy.exec('echo Jane Lane')
- .its('stdout').should('contain', 'Jane Lane')
- if (Cypress.platform === 'win32') {
- cy.exec('print cypress.json')
- .its('stderr').should('be.empty')
- } else {
- cy.exec('cat cypress.json')
- .its('stderr').should('be.empty')
- cy.exec('pwd')
- .its('code').should('eq', 0)
- }
- })
- it('cy.focused() - get the DOM element that has focus', () => {
- // https://on.cypress.io/focused
- cy.get('.misc-form').find('#name').click()
- cy.focused().should('have.id', 'name')
- cy.get('.misc-form').find('#description').click()
- cy.focused().should('have.id', 'description')
- })
- context('Cypress.Screenshot', function () {
- it('cy.screenshot() - take a screenshot', () => {
- // https://on.cypress.io/screenshot
- cy.screenshot('my-image')
- })
- it('Cypress.Screenshot.defaults() - change default config of screenshots', function () {
- Cypress.Screenshot.defaults({
- blackout: ['.foo'],
- capture: 'viewport',
- clip: { x: 0, y: 0, width: 200, height: 200 },
- scale: false,
- disableTimersAndAnimations: true,
- screenshotOnRunFailure: true,
- onBeforeScreenshot () { },
- onAfterScreenshot () { },
- })
- })
- })
- it('cy.wrap() - wrap an object', () => {
- // https://on.cypress.io/wrap
- cy.wrap({ foo: 'bar' })
- .should('have.property', 'foo')
- .and('include', 'bar')
- })
- })
|