摩卡测试后如何关闭浏览器?

How can I close the browser after a mocha test?

我是 WebdriverIO 和 Mocha 的新手,我编写了 2 个测试来检查我们的网络应用程序。

我想在 运行 第一次测试后关闭浏览器并重新登录。 当我使用 browser.close() 时,我得到一个错误 browser.close() 不是一个函数,基本上第二次测试 运行s 就在第一次测试之后,浏览器打开。

有没有办法在摩卡测试后关闭浏览器?

describe('Verify that a signed-in user can get to the page', () => {
  it('Title assertion ', () => {
    const viUrl = 'https://buyermanage.com/bmgt/lock?useMock=pre.json';
    signInPage.signIn('rich221', 'password', viUrl);
    assert.equal(preApp.getTitle(), 'Pre-App', 'Title Mismatch');
  });
});

describe("Verify that a not signed-in user can't get to the page and is redirected to login page", () => {
  it('Title assertion ', () => {
    const viUrl = 'https://buyermanage.com/bmgt/lock?useMock=pre.json';
    assert.equal(preApp.getTitle(), 'Pre-App', 'Title Mismatch');
  });
});

尝试使用 browser.reloadSession():

after(() => {
    // Start a new session for every 'locale' (wipe browser cache):
    browser.reloadSession();
});

在您的特定示例中,您需要在 afterEach() 挂钩中使用它,并分别包装 describesit 语句( 取决于根据您的测试套件要求) 在父 describe 块内:

describe('The world is your oister', () => {

  describe('Verify that a signed-in user can get to the page', () => {
    it('Title assertion ', () => {
      // bla bla bla
    });
  });

  describe("Verify that a not signed-in user can't get to the page and is redirected to login page", () => {
    it('Title assertion ', () => {
      // bla bla bla
    });
  });

  afterEach(() => {
    browser.reloadSession();
  });
});