4

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

     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。

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

4

2 回答 2

5

您需要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);
    });
  });
});

或者,去掉环绕的花括号,箭头函数将自动返回结果。

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

我不认为这很可读,但这可能只是我。

于 2017-06-15T21:23:10.440 回答
0

你可以链接你的承诺

我这样用

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

于 2018-07-04T02:36:30.913 回答