У меня есть тест 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).