Доступ к переменным JavaScript, обслуживаемым веб-сайтом в тесте, с помощью cypress

Мне было интересно, можно ли получить доступ к переменной, которая обслуживается в JS страницей, которую я тестирую.

Веб-сайт поддерживает Javascript:

var varyingUrl  = 'www.google.com';

Кипарисовый тест

Cypress.Commands.add('closeAccount', () => {
    var url = varyingUrl;
    cy.request(url)
})

Я почти уверен, что это невозможно, но я подумал, что спрошу, если кто-то нашел способ получить доступ к этим доступным переменным javascript, доступным для dom, используя кипарис.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
0
1 181
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Этот ответ изначально был найден для аналогичного вопроса 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'

Предполагая, что переменная является глобальной или доступна через глобальную переменную

Taplar 11.12.2020 00:14

Другие вопросы по теме