При выполнении веб-тестирования 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.