使用Cypress在窗口上设置属性

8
我需要测试一个 React 应用程序,这个应用程序应该作为 Webview 在另一个原生应用程序中运行。 Webview 服务器将会话变量设置到窗口中,然后进一步用于身份验证。
我想通过做以下操作来模拟这个过程:
window.appEnvironment={ 
//session variables
}

我尝试了cy.window(),但好像没有帮助。如何在Cypress中设置window的属性。

2个回答

15

将此放入支持文件中:

Cypress.on('window:before:load', win => {
    win.appEnvironment = { 
        //session variables
    }
});

现在这个片段将在您的应用程序代码初始化之前被评估。


2

miklos_me 几乎对了。你应该使用传递进来的 win 对象而不是全局 window 对象。

Cypress.on('window:before:load', win => {
    win.appEnvironment = { 
        //session variables
    }
});

5
这可能本来可以作为对另一个答案的评论。 - eho

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接