47 lines
1.1 KiB
JavaScript
47 lines
1.1 KiB
JavaScript
/// <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.server();
|
|
cy.route("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("status")
|
|
.should("eq", 200);
|
|
});
|
|
});
|