Как изменить URL в тесте Cypress?

Как изменить URL в тесте Cypress?

У меня есть тест Cypress, который я написал, и чтобы не писать второй тест, я хотел бы иметь возможность взять полученный URL-адрес и сделать с ним две вещи:

1) Я хотел бы изменить его, чтобы переместить на другую страницу.

2) При выполнении пункта 1 мне также потребуется извлечь динамическое значение из URL-адреса для использования в измененном URL-адресе.

У меня есть cy.url(), но я не знаю, как захватить нужное мне значение и установить его как переменную. Кто-нибудь знает, как это сделать? Я новичок в кодинге и все еще изучаю javascript, так что это может быть просто, но я просто не знаю, как это сделать. Любой совет будет очень кстати!

решение1

Чтобы извлечь значения из элементов cy, необходимо использовать обещания(затем синтаксис). Работать с асинхронностью JS поначалу немного сложно, но не паникуйте! Изучите эту основную концепцию, и вы быстро поймете, как работает Cypress!

Чтобы ответить на вопрос №1, вы можете сделать следующее:

cy.url().then(urlValue => cy.visit(urlValue + '/about');

В приведенном выше примере будет извлечен текущий URL-адрес, который вы сможете использовать в следующем действии. (URL-адрес представлен как аргумент стрелочной функции, здесь называемый urlValue).

Связанный контент