我有一个应用程序,我想在其上实现多个 E2E 测试场景,每个场景都特定于应用程序的一部分。问题是我的应用程序需要登录。我创建了一个登录场景,一切正常。为了描述不同的场景,我需要能够重用登录代码。我怎样才能做到这一点?
describe('login page flow', function () {
it('should open the login page', function () {
browser().navigateTo('/#/login');
sleep(1);
expect(browser().window().hash()).toBe('/login');
});
it('should have login elements', function () {
expect(element('#username').count()).toBe(1);
expect(element('#password').count()).toBe(1);
});
it('should be able to login successfully', function () {
input('ui.username').enter('user');
input('ui.password').enter('pass');
element('#signin').click();
sleep(1);
expect(browser().window().hash()).toBe('/welcome/');
});
});
我唯一能想到的就是在 beforeEach 中写这个,但我认为这不是一个非常干净的解决方案。有任何想法吗?