При выполнении веб-тестирования E2E переход на определенную веб-страницу и манипулирование значением URL-адреса являются распространенным методом. В этой статье мы поговорим о нескольких распространенных методах использования Cypress для управления URL-адресами.

cy.url() и cy.location()

Предположим, мы тестируем веб-сайт под названием automationpractice.com и страницу перенаправляем на http://automationpractice.com/index.php. В Cypress url — это псевдоним для cy.location(‘href’), а cy.url() внутри использует href.

Некоторые из приятных встроенных функций for cy.url() — это автоматические повторные попытки до тех пор, пока не будут пройдены все связанные в цепочку утверждения, и тайм-аут ожидания подтверждения, которые вы добавили для прохождения. Вы также можете передать decode, когда тестируемый URL содержит символы, отличные от ASCII, например китайский и т. д.

cy.url({ decode: true }).should('contain', '中文')

Если вы хотите найти конкретное свойство по URL-адресу, вы можете использовать cy.location() для доступа ко всем свойствам.

Еще одна хорошая практика — сохранить базовый URL-адрес в файле Cypress.json.

{
  "baseUrl": "http://localhost:8000")
}

Когда вы используете функцию cy.visit()или cy.request(), вы можете просто использовать cy.visit(‘/’) или cy.request(‘/) вместо того, чтобы вводить полный базовый URL.