1

角度のあるアプリケーションがあります。ログインページのテストケースをいくつか書き、通常のログインシナリオを確認しました。

describe('Login screen tests', function () {
  var ptor = protractor.getInstance();

  beforeEach(function(){
    ptor.get('http://url:3000/login/#/');
  });

  it('Blank Username & Password test', function() {
    ptor.findElement(protractor.By.id("submit")).click();
    var message = ptor.findElement(protractor.By.repeater('message in messages'));
    message.then(function(message){
        expect(message.getText()).toContain('Username or Password can\'t be blank');
    });
  });

  it ('Blank Password test', function(){
    ....
  });

  it ('Invalid username test', function(){
    ....
  });    

  ......  //Similarly more test cases folow for the login screen. 
});

テストは期待どおりに正しく実行されます。

問題: テストが非常に遅く、完了するまでに約 1.5 分かかります。Java経由でセレンを使用して同じテストを実行すると. 理想的なはずの約2〜3秒しかかかりません。アプリケーションが完全に角度の上にある分度器を使用したい。

各テストの後にデフォルトのタイムアウトが300ミリ秒あると思います。これにより、テストが遅くなります。そのため、チェックが完了してもタイムアウトを待ちます。

タイムアウト前にテストが完了した場合に先に進むことができるように、何らかのポーリング メカニズムがありますか。done()jasmine で like を使用してみましたdone()が、エラーが発生done()しましたprotractor

4

1 に答える 1