首页 > 解决方案 > 如何使用赛普拉斯设置新窗口属性

问题描述

我想在赛普拉斯的页面加载时设置一个新的窗口属性。例如,这是一个新属性,我想在页面加载完成后在我的应用程序上下文中设置它。

window.configTemplate = {
   templates: {}
}

我尝试使用以下方法,但是当我尝试访问控制台中的窗口属性时,“window.configTemplate”返回“未定义”

cy.window().then(win => {

win.configTemplate = {
         templates: {
            'list-1': {
              index: 1,
              componentRef: 'titleContainer',
              props: {
                title: 'Test XX',
              },
            }
         }
}
});

我也尝试将代码片段放在 onBeforeLoad (win) {} 中,但它不起作用:(

标签: windowcypress

解决方案


有可能确实有效,但您正在记录错误的窗口(赛普拉斯跑步者有window并且您使用

cy.window().then(win => {
  console.log(win.configTemplate)

但是你的应用需要configTemplate吗?还是只是测试?如果进行测试,您可以使用运行器窗口或Cypress对象

Cypress.configTemplate = {
  templates: {
    ...
  }

console.log(Cypress.configTemplate)

推荐阅读