// *********************************************** // This example commands.js shows you how to // create various custom commands and overwrite // existing commands. // // For more comprehensive examples of custom // commands please read more here: // https://on.cypress.io/custom-commands // *********************************************** // // // -- This is a parent command -- const loginApiUrl = Cypress.env('loginApiUrl'); Cypress.Commands.add('login', () => { cy.request({ method: 'POST', url: loginApiUrl, form: true, body: { username: Cypress.env('user').username, password: Cypress.env('user').password, grant_type: 'password', } }).then(response => { const token = response.body.access_token; cy.setCookie('luciaToken', token); }) }); // 呼叫方式: cy.login() // // // -- This is a child command -- // Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... }) // // // -- This is a dual command -- // Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... }) // // // -- This will overwrite an existing command -- // Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })