#javascript #reference #command #cypress #definition
#javascript #ссылка #команда #cypress #определение
Вопрос:
я создал пользовательские команды в Cypress, а затем использовал их в своей test.spec.js но когда я пытаюсь перейти к определению моей команды (ctrl щелчок правой кнопкой мыши), он показывает (любой) и никакой ссылки. есть ли какое-либо решение для этого? потому что, если кто-то другой попытается прочитать мой тестовый скрипт, будет нелегко узнать, где находится определение запятой…
test.spec.js
describe('test', () => {
before('Login before', () => {
cy.visit('/');
// my custom command cy.login()
cy.login();
});
});
commands.js
// definition of the command
Cypress.Commands.add('login', () => {
// body of the command
});
Ответ №1:
Да, есть способ.
Вы добавляете один TS-файл в support/
.
поддержка/commands.d.ts:
declare namespace Cypress {
interface Chainable<Subject> {
/**
* Logs in a user
*
* @param {string} name User to log in
* @example
* cy.login('admin');
*
*/
login(name: string): Chainable<any>
}
}
Команда будет добавлена в объект cy, поэтому при вводе она также предложит новую пользовательскую команду:
Вы можете увидеть информацию о команде при наведении на нее курсора мыши:
Кроме того, вы перейдете к commands.d.ts
файлу, когда вы нажмете на него с нажатой клавишей Ctrl.
Комментарии:
1. Да, спасибо, я понимаю это, но я хочу связать это с определением команды. // определение команды Cypress. Commands.add(‘login’, () => { // тело команды });