Возникла проблема при тестировании на Cypress. Проблема: файл JS не загружается во время тестирования с использованием Cypress.
- Добавлена проверка для загрузки JS файла , когда одно из свойств окна имеет значение набор.
- Cypress открывает запрошенный URL в iframes, который имеет свой собственный объект окна. Таким образом, фактический объект окна сайта отличается, и объект окна Cypress отличается.
- В связи с этим JS файл не загружается в браузер Cypress.
- Свойство окна, необходимое для загрузки файла JS возвращает значение как «неопределенное», потому что Cypress запускает сайт в своем собственном фрейме, который имеет собственный оконный объект.
Решения Мы попробовали: что все еще не работает. - Мы попытались установить свойство объекта окна из самого теста. - Также попытался добавить "chromeWebSecurity": false в файл конфигурации.
describe(‘ExampleTest’, () => {
it('Verify test’, () => {
cy.visit(Cypress.config().baseUrl )
cy.login(email, password)
parent.window.GLOBAL_VAR = true
window.GLOBAL_VAR = true
parent.window.frames[0].window.GLOBAL_VAR = true
parent.window.frames[1].window.GLOBAL_VAR= true
cy.window().then((window) => {
window.GLOBAL_VAR = true
window.frames[0].window.GLOBAL_VAR = true
}
}
Примечание: - GLOBAL_VAR - это свойство, которое остается неопределенным внутри фреймов. - Свойство родительского окна установлено в true, но его свойство окна фрейма остается неопределенным. И Cypress открывает запрошенный URL в кадрах. Таким образом, он не устанавливает свойства окна. Который в свою очередь не загружает JS.
Окно иерархии