You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

102 lines
3.0 KiB

/// <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")
})
})