1

我正在使用Karmaangular-scenarioAngularJS站点运行E2E测试。

我在每个块beforeEach之前在函数中执行一些登录代码。it

我的登录功能有一个超时延迟,以确保登录正确完成。这是耗时且低效的(更不用说不优雅了)。此外,用户在会话期间只会登录一次,因此这将更准确地模拟我的场景。

我正在寻找的是一个函数,它只对一个块中包含的块before集合执行一次登录,但这个工具似乎不存在(我已经检查了文档和源代码)。itdescribe

似乎是对测试库的明显要求!有人解决了这个问题吗?

4

1 回答 1

3

你可以使用变量标志吗?例如:

var bdone = false;
describe('Search POC', function() {
    beforeEach(function() {
        if (!bdone) {
            browser().navigateTo('login');
            console.log('navigated once');
            bdone = true;
        }
    });

     it ('should have an img link on the login results', function() {
         expect(element('a:last').html()).toMatch(/jpg/);
     });

    it ('should redirect to user details when clicked', function() {
        element('#UserThumbImage:first').click();
        expect(browser().window().href()).toMatch(/user/);
    });


});
于 2013-07-22T21:14:57.430 回答