Я пишу тесты на Cypress и хотел бы получить данные в одном тесте и использовать их в других тестах. В этом случае я создаю объект и хочу использовать идентификатор этого созданного объекта в более поздних тестах.
Fixtures , похоже, отсутствует. Я не могу установить идентификатор объекта в файле stati c, потому что я не знаю его, пока объект не создан. Я не нашел никакой документации, описывающей, как обновить данные в приборе во время выполнения тестов.
Я нашел следующий обходной путь:
describe('Data suite tests', function() {
let objectId = 0;
it('Create object', function() {
cy.createObject(...);
objectId = /* get id of created object from the resulting URL */
});
it('Another test', function() {
cy.visit('/object/' + objectId);
});
};
Однако Cypress явно говорит избегайте этого паттерна и используйте вместо него псевдонимы.
Я не могу понять, возможно ли использовать псевдоним для моего варианта использования. Все приведенные примеры описывают получение идентификатора из DOM. В моем случае я получаю это с URL.
Кроме того, во всех случаях использования описывается установка псевдонима в ловушке beforeEach()
. Но я не могу этого сделать, потому что я должен получить его из одного из тестов после создания объекта.
Есть ли одобренный способ сделать это с помощью Cypress? Или использование переменной let
- единственный возможный обходной путь?