我在以下所有代码之前进行了量角器测试:
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()之前调用一些东西来说“这里的每个场景都失败了”吗?
答案 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现在支持它,但它看起来并不像问题发生了很大变化。