2015-08-13 12 views
5

Açılışı açısal uygulamaları test ederken e2e test çalıştırıyor.JavascriptError: javascript hatası: sonucu beklenirken belge kaldırılırken

Şu anda bir sorun yaşıyorum. Ve aralıklı bir konu. “JavascriptError: javascript hatası: sonuç beklenirken kaldırılmış belge” alıyorum.

Failures: 
[18:51:46][Step 4/4] 1) vacancies should create new job listing 
[18:51:46][Step 4/4] Message: 
[18:51:46][Step 4/4] [31m Failed: javascript error: document unloaded while waiting for result 
[18:51:46][Step 4/4]  (Session info: chrome=44.0.2403.155) 
[18:51:46][Step 4/4]  (Driver info: chromedriver=2.15.322455 (rg5th540dac8d0c453355d3d922c91ads1231),platform=Mac OS X 10.10.4 x86_64) [0m 
[18:51:46][Step 4/4] Stack: 
[18:51:46][Step 4/4]  JavascriptError: javascript error: document unloaded while waiting for result 
[18:51:46][Step 4/4]  (Session info: chrome=44.0.2403.155) 
[18:51:46][Step 4/4]  (Driver info: chromedriver=2.15.322455 (rg5th540dac8d0c453355d3d922c91ads1231),platform=Mac OS X 10.10.4 x86_64) 
[18:51:46][Step 4/4]   at Array.forEach (native) 
[18:51:46][Step 4/4]  From: Task: Run it("should create new job listing") in control flow 
[18:51:46][Step 4/4]   at Array.forEach (native) 
[18:51:46][Step 4/4]  From asynchronous test: 
[18:51:46][Step 4/4]  Error 
[18:51:46][Step 4/4]   at Suite.<anonymous> (/client/test/e2e/vacancies/vacancies.create.specs.js:67:7) 
[18:51:46][Step 4/4]   at Object.<anonymous> (/client/test/e2e/vacancies/vacancies.create.specs.js:17:3) 

günlük işaret ediyor hatları testin başlangıç ​​çizgisidir:

Aşağıda kayıtları.

67 it('should create new job listing', function() { 
68  //Login As Admin To Access Vacancies Feature 
69  loginAsManager(); 
. 
.  //load manager's dashboard list page 
.  dashboardPage = new DashboardPage(); 
.  dashboardPage.vacanciesTab.click(); 
. 
.  //load vacancies list page 
.  var vacanciesUrl = browser.baseUrl + '#/vacancies'; 
.  browser.waitForAngular(); 
.  expect(browser.getCurrentUrl()).toEqual(vacanciesUrl); 
.  vacanciesPage = new VacanciesPage(); 
.  vacanciesPage.addVacancyButton.click(); 
. 
. 

Ben bundan önce burada demek hedefleniyor sayfa artık mevcut veya yüksüz, bu iddia var bitirir bekler düşünüyorum:

Aşağıda kod parçacığı olduğunu.

Her sayfadan sonra, "browser.waitForAngular()" ifadesini eklemeye çalıştım. Ama bu iddianın geçmesine yardım etmedi.

Meraklı şey Ubuntu14.04 platformunda aynı sınama geçişi ancak Mac OS X 10.10.4 x86_64

Aynı testte her zaman için başarısız değil başarısız olmasıdır. Her zaman farklı bir sınavdır.

Herhangi bir tavsiye gerçekten yararlı olacaktır.

Teşekkürler.

+0

'Webdriver-manager update 'komutunu çalıştırın ve tekrar deneyin. – alecxe

+0

Güncelleme webdriver-manager. Ama yine de başarısız. –

cevap

2

URL'deki her değişiklikten sonra birkaç saniye tarayıcıda uyku yaparak bu sorunu giderebildim. Bunun bu soruna bir temiz çözüm olduğunu düşünmüyorum

67 it('should create new job listing', function() { 
68  //Login As Admin To Access Vacancies Feature 
69  loginAsManager(); 
. 
.  //load manager's dashboard list page 
.  dashboardPage = new DashboardPage(); 
.  dashboardPage.vacanciesTab.click(); 
. 
.  //load vacancies list page 
.  var vacanciesUrl = browser.baseUrl + '#/vacancies'; 
.  browser.sleep(2000); 
.  expect(browser.getCurrentUrl()).toEqual(vacanciesUrl); 
.  vacanciesPage = new VacanciesPage(); 
.  vacanciesPage.addVacancyButton.click(); 
. 
. 

:

Aşağıda kod parçacığı olduğunu.

Bunu daha iyi bir çözümü varsa, bunu duyduğuma sevinirim.

Alkış Gaurav

+0

şerefe dostum! Bu benim için çalıştı! – cptdanko

2

ben iletki içinde ExpectedConditions bakmak zorunda düşündüren olacaktır. Bu tür senaryolarda yardımcı olurlar. Örneğe bakarsanız, bu, sorununuza alternatif bir çözüm bulmanızda yardımcı olabilir. Şu anda CI derleme sunucumuzda aralıklı test hatalarının olduğu gibi bu modeli kullanan birçok test tekrar ediyorum.