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.
44 lines
1.1 KiB
44 lines
1.1 KiB
3 years ago
|
/// <reference types="cypress" />
|
||
|
|
||
|
context("Aliasing", () => {
|
||
|
beforeEach(() => {
|
||
|
cy.visit("https://example.cypress.io/commands/aliasing")
|
||
|
})
|
||
|
|
||
|
it(".as() - alias a DOM element for later use", () => {
|
||
|
// https://on.cypress.io/as
|
||
|
|
||
|
// Alias a DOM element for use later
|
||
|
// We don't have to traverse to the element
|
||
|
// later in our code, we reference it with @
|
||
|
|
||
|
cy.get(".as-table")
|
||
|
.find("tbody>tr")
|
||
|
.first()
|
||
|
.find("td")
|
||
|
.first()
|
||
|
.find("button")
|
||
|
.as("firstBtn")
|
||
|
|
||
|
// when we reference the alias, we place an
|
||
|
// @ in front of its name
|
||
|
cy.get("@firstBtn").click()
|
||
|
|
||
|
cy.get("@firstBtn")
|
||
|
.should("have.class", "btn-success")
|
||
|
.and("contain", "Changed")
|
||
|
})
|
||
|
|
||
|
it(".as() - alias a route for later use", () => {
|
||
|
// Alias the route to wait for its response
|
||
|
cy.intercept("GET", "**/comments/*").as("getComment")
|
||
|
|
||
|
// we have code that gets a comment when
|
||
|
// the button is clicked in scripts.js
|
||
|
cy.get(".network-btn").click()
|
||
|
|
||
|
// https://on.cypress.io/wait
|
||
|
cy.wait("@getComment").its("response.statusCode").should("eq", 200)
|
||
|
})
|
||
|
})
|