Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavascriptError:javascript错误:等待结果时卸载文档_Javascript_Angularjs_Protractor - Fatal编程技术网

JavascriptError:javascript错误:等待结果时卸载文档

JavascriptError:javascript错误:等待结果时卸载文档,javascript,angularjs,protractor,Javascript,Angularjs,Protractor,使用量角器e2e测试运行时测试角度应用程序 我现在面临一个问题。这是一个间歇性的问题。 我收到“JavascriptError:javascript错误:等待结果时卸载文档” 以下是日志: 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

使用量角器e2e测试运行时测试角度应用程序

我现在面临一个问题。这是一个间歇性的问题。 我收到“JavascriptError:javascript错误:等待结果时卸载文档”

以下是日志:

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)
我想这确实意味着在expect完成它的断言之前, 目标页面不再可用或已卸载

因此,在每个页面导航之后,我都尝试添加“browser.waitForAngular()”。但这无助于这一主张的通过

奇怪的是,在Ubuntu14.04平台上,同样的测试通过了 但在Mac OS X 10.10.4 x86_64中失败

它并不是每次都在相同的测试中失败。这总是一个不同的测试

任何建议都会很有帮助


谢谢。

每次更改URL后,我都会让浏览器休眠几秒钟,从而解决了这个问题

下面是代码片段:

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();
.
.
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();
.
.
我认为这不是解决这个问题的好办法

如果有人有更好的解决办法,我会很高兴听到

干杯
高拉夫

我建议看一下量角器。在这种情况下,它们会有所帮助。如果你看一下这个例子,这可能会帮助你找到解决问题的替代方案。我目前正在使用此模式重写许多测试,因为我们的CI构建服务器上经常出现间歇性测试失败。

运行
webdriver manager update
,然后重试。更新了webdriver manager。但它仍然失败。