Spectron 测试顺序动作

Spectron test sequential actions

我正在用 spectron 测试电子应用。我在文档示例中找到了有关如何获取 windows 数量的信息,这非常简单。但是我正在寻找的是如何在单击另一个元素后检查一个元素的状态。在这里,我试图检查应用程序在最小化后是否可见。但是这个测试总是通过,无论是真还是假。

     it('should minimize the application', () => {
        return this.app.client.click('.minimize').then(() => {
          this.app.client.browserWindow.isVisible().then((isVisible) => {
            expect(isVisible).to.be.equal(true);
          });
        });
      })

我正在使用带有 chai 断言的 mocha。

请告知如何在单击另一个元素后检查应用程序(或特定元素)是否可见。

您需要return您的回调函数的结果。

it('should minimize the application', () => {
  return this.app.client.click('.minimize').then(() => {
    return this.app.client.browserWindow.isVisible().then((isVisible) => {
      return expect(isVisible).to.be.equal(true);
    });
  });
});

或者,去掉环绕花括号,arrow function 将自动 return 结果。

it('should minimize the application', () =>
  this.app.client.click('.minimize').then(() => 
    this.app.client.browserWindow.isVisible().then((isVisible) => 
      expect(isVisible).to.be.equal(true);
    );
  );
);

我认为这不太可读,但可能就是我。

您可以链接您的承诺

我是这样用的

Return this.app.client.click('.minimize').browserWindow.isVisible().should.be.equal(true)