1

Karmaangular-scenarioを使用して、 AngularJSサイトに対してE2Eテストを実行しています。

すべてのブロックのbeforeEach前に、関数でいくつかのログイン コードを実行しています。it

私のログイン機能には、ログインが正しく完了するようにタイムアウト遅延があります。これは時間がかかり、非効率的です (洗練されていないことは言うまでもありません)。さらに、ユーザーはセッション中に 1 回だけログインするため、これによりシナリオがより正確にモデル化されます。

私が探しているのは、ブロック内に含まれるブロックbeforeのコレクションに対して 1 回だけログインを実行する関数ですが、この機能は存在しないようです (ドキュメントとソース コードを確認しました)。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 に答える