我有一个代码,使用window.foo.abc作为显示某些内容的条件。
我想用cypress测试这个功能,我想模拟这个值为false和true。
我该怎么做呢?
我试过了
before(function() {
Cypress.on('window:before:load', win => {
win.foo.abc = true;
});
和
cy.window().then(win => {
window.foo.abc = true;
});
没有成功。
如何模拟这个值?
由于🙏
此代码不正确,
Cypress.on('window:before:load', win => {
window.foo.abc = true;
});
应该是
Cypress.on('window:before:load', win => {
win.foo.abc = true;
});
你不必在before()
中使用它,但它应该在规范的顶部。
但我怀疑它仍然不会工作后纠正,最有可能的应用程序重置foo
到一个新的对象在加载期间,即在cy.visit()
你可以使用第二个区块
cy.visit('...') // visit before changing
cy.window().then(win => {
win.foo.abc = true; // correct the syntax here as well
})