cypress 中未定义 window 属性

Ozz*_*lsh 5 javascript testing cypress

我正在使用 Cypress 和 Meteor。

我需要Meteor窗口上的对象来调用Meteor.loginWithPassword

我想用它来跳过每次使用 UI 登录。我已尝试以下操作,但运行时 Meteor 不在窗口上。

cy.window()
  .then((window) => {
      console.log(window.Meteor);
   });
Run Code Online (Sandbox Code Playgroud)

Jos*_*ica 5

尝试这个:

cy.window().its('Meteor');
Run Code Online (Sandbox Code Playgroud)

这将等到该Meteor属性存在于window对象上。


Meteor或者,如果您想在该属性存在后对其执行某些操作,请使用.then()

cy.window().its('Meteor').then(meteor => {
    console.log(meteor);
    // do things
});
Run Code Online (Sandbox Code Playgroud)

.its()将尝试从 Cypress 包装的对象(在本例中为window对象)获取属性,并将重试,直到该属性存在或命令超时。