如果BeforeAll失败,则在量角器文件中失败

时间:2018-04-27 18:41:59

标签: protractor

我在以下所有代码之前进行了量角器测试:

beforeAll(async (done: Function) => {
  await browser.restart();
  await browser.waitForAngularEnabled(false);
  await performLogin('/some_url', LOGIN_EMAIL, LOGIN_PASSWORD);
  await browser.waitForAngularEnabled(true);
  done();
});

登录页面是Microsoft Azure Ad,它不是有角度的,因此需要禁用waitForAngular()

有时会失败(我正在处理的问题)。然而,当它失败时,测试全部运行,当然超时,因为它们最终在登录屏幕上。

我可以在beforeAll()之前调用一些东西来说“这里的每个场景都失败了”吗?

1 个答案:

答案 0 :(得分:0)

protractor-fail-fast,你可以找到它here。它基本上会在第一次失败时退出,而不是尝试运行所有测试。

对您的特定情况的解决方案是让beforeAll()结束验证网址是否超过登录页面,例如:

expect(browser.getCurrentUrl()).not.toContain('microsoft.com/login')

如果失败,Protractor将在那里退出。

为了回答这个问题,一般来说,你不是be looking for this type of functionality和Protractor devs are aware of it的第一个,因为Jasmine现在支持它,但它看起来并不像问题发生了很大变化。