2016-09-15 6 views
1

それぞれの "it"(テスト)後にブラウザを再起動する必要があるため、 "restartBrowserBetweenTests:true"をprotractor.configファイルに書き込みます。今すぐ最初の "それ"(テスト)が終わった後、ブラウザが閉じられ、再び開いた後( "beforeEach"で書いたウェブサイトを開きますが、次の "it"(テスト)は実行されません)分度器 "restartBrowserBetweenTests:true"ブラウザを再起動しますが、この後にテストを実行しません

。。!

おかげ

追加 "2.5.1"::私は "分度器" を使用

何かアドバイスのために幸せになる私はrestartBrowserBetweenTests: trueを活用したことがありません

beforeEach(function() { 
    browserUtil.navigateTo(browserUtil.url.main); 
    loginPage.loginAsSample(); 
}); 

afterEach(function(){ 
    browserUtil.deleteCookies(); 
}); 

it("'Delete' button is inactive if there are no projects in the list", function() { 
    projectPage.clickOnProjectButton(); 

    expect(projectPage.isProjectPageFormVisibility(true)).toBe(true); 
    expect(projectPage.isDeleteBtnDisable()).toBe(true); 
}); 

it("Create new project with template 'A'", function() { 
    projectPage.clickOnNewProjectBtn(); 
    projectPage.clickOnAProject(); 
    projectPage.clickOnOkBtnProject(); 

    expect(projectPage.isOpenedProjectVisibility(true)).toBe(true); 
}); 
+0

あなたが仕様にpingを実行してくださいすることができますit()とbeforeEach()を含むコード –

+0

を追加しましたので、ご覧ください。 ブラウザを再起動しないとすべて正常に動作します。 –

+0

afterEach()メソッドでアプリケーションからログアウトするロジックを追加して動作させてもらうことができます –

答えて

1

が、この作品私のために:protractor.confで

beforeEachafterEach

beforeEach(function() { 
    browser.get(browserUtil.url.main); 
}); 

afterEach(function() { 
    browser.manage().deleteAllCookies(); 
}); 

は、あなたのテストのためのページオブジェクトの構造を利用しているということなので、変更、test.spec.jsでrestartBrowserBetweenTests: true

を削除し、あなたはページオブジェクトにbrowser.get(browser.browserUtil.url.main);をカプセル化することができます。

ProjectPageが定義されている場合、私は追加したい:

this.refreshPage = function() { 
    browser.get(browserUtil.url.main); 
}; 

をあなたがこの方法で行く場合は、あなたがbeforeEachのコールを変更したい:

beforeEach(function() { 
    projectPage.refresh(); 
}); 
+0

ありがとうございます! 私のbrowserUtils.jsには、あなたが示したように、browserUtil.deleteCookies()とbrowserUtil.navigateTo()のためのメソッドが書かれています。 予期せぬエラーでテストが失敗し、ページを更新したい場合は、ブラウザ(chrome)スタックにポップアップ "このサイトを残しますか?"このポップアップが失敗した後のすべてのテストは失敗します。そのため、ページを更新するだけでなく、各テスト後にブラウザを閉じて開きたいのです。私は別の方法でこの問題を解決する方法を知らない。 –

関連する問題