Мне было интересно, можно ли получить доступ к переменной, которая обслуживается в JS страницей, которую я тестирую.
Веб-сайт поддерживает Javascript:
var varyingUrl = 'www.google.com';
Кипарисовый тест
Cypress.Commands.add('closeAccount', () => {
var url = varyingUrl;
cy.request(url)
})
Я почти уверен, что это невозможно, но я подумал, что спрошу, если кто-то нашел способ получить доступ к этим доступным переменным javascript, доступным для dom, используя кипарис.
Этот ответ изначально был найден для аналогичного вопроса Vue/Cypress , на который ответил @Richard Matsen - Его ответ можно найти здесь
По сути, мы просто вызываем окно с помощью кипариса, а затем, используя окно, получаем доступ к нашим переменным.
Используя приведенный выше пример, вы можете получить переменные, которые сервер загружает через исходные файлы js:
Ваша переменная для получения
var varyingUrl = 'www.google.com';
Код кипариса:
cy.window().then((win) => {
// use this area to code using the variable, prepending with "win." eg.
cy.log(win.varyingUrl) // or console.info(win.varyingUrl)
})
Вывод консоли:
'www.google.com'
Предполагая, что переменная является глобальной или доступна через глобальную переменную