Protractor: 失败:等待量角器与页面同步时出错:“在窗口上找不到角度”

创建于 2015-01-28  ·  52评论  ·  资料来源: angular/protractor

在将 Protaractor 更新到 1.6.1 、 webdriver 、 chromedriver 、 jasmine 到 2.0 后,当我尝试运行我的测试时,我得到:

"Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver
Start test TC06_01_01_Binary_1_1
Started
Execute test TC06_01_01_Binary_1_1
Login as Admin
Execute script no 18
F

Failures:
1) TC06_01_01_Binary_1_1 TC06_01_01_Binary_1_1 Should be able to add record with different values
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
       at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the windo
w"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on th
e window"
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the windo
w"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on th
e window"
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)

1 spec, 1 failure
Finished in 1.409 seconds
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 1 test(s)
[launcher] overall: 1 failed spec(s)
[launcher] Process exited with error code 1"

知道为什么找不到 Angular 吗? 或者我应该如何解决这个问题?

needs investigation

所有52条评论

我实际上在 OSX 上遇到了完全相同的问题。

... snip ...
Running "connect:test" (connect) task
Started connect web server on http://localhost:9001

Running "protractor:run" (protractor) task
Using the selenium server at http://127.0.0.1:4444/wd/hub
[launcher] Running 1 instances of WebDriver
Uncaught exception: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
[launcher] Process exited with error code 1
>>
Fatal error: protractor exited with code: 1
... snip ...

在此之后,它打开的 Chrome 实例仍处于挂起状态。

我今天在 Mac OS 上遇到了同样的问题。 关闭所有终端和浏览器并重新打开此错误停止后(至少到目前为止)。

我在2.0.0版本中也遇到了这种情况。

即使我面临同样的问题。

2015 年 4 月 1 日星期三上午 11:03,Walter H. Roman通知@github.com
写道:

我在 2.0.0 版中也遇到了这种情况。


直接回复此邮件或在 GitHub 上查看
https://github.com/angular/protractor/issues/1760#issuecomment -88355894。

我也是

同样在这里,为什么这个问题被关闭了?

降级到 1.8.0 解决了这个问题-

你在onPrepare函数中调用browser.get()吗? 见#1978

我正在使用 browser.get(),但我不认为我在使用 onPrepare,我正在为 angular todomvc 运行此示例 - https://github.com/mknabe/angular-testing-starter/blob/主/测试/e2e/scenarios.js

撞...

@cm325 一样,我在运行 2.0.0 时遇到“在窗口上找不到角度”错误,但降级到 1.8.0 解决了这个问题

撞!

升级到 v2.1.0 后同样的问题,不得不降级到 1.8.0 来解决这个问题

在 OSX 上也有同样的问题

编辑 - 固定

所以我通过在我的一个页面构造函数中更改以下代码来解决这个问题:

this.currentUrl =  browser.getCurrentUrl();

this.currentUrl = function(){
    return browser.getCurrentUrl();
  };

我的测试运行良好,无缘无故地出现了。 我没有对系统或代码进行任何更改来导致这种情况。 我不能降级,我需要 2.0。 我为 currentUrl 做了最后一个解决方法,但这也无济于事。 任何帮助都会很棒..

我在星期一也有同样的经历。 上周五一切都很好,然后从周一开始我无法运行任何测试,因为当需要加载登录页面时,这是一个非 Angular 页面,我得到了同样的错误。 试图将量角器降级到 1.8.0 和 1.4.0,没有,试图将框架更改为“jasmine2”,同样没有,我没有在 onPrepare 中使用 browser.get。 我不知道我可以尝试什么。 任何其他建议,我可以更改或尝试什么? 谢谢!

我在这里也遇到了同样的问题。 : fist:bump以获得更多关注。
从 2.1.0 降级到 1.8.0 并没有立即解决它...

我也有同样的问题。 我刚刚用cucumber-js、chai和chai-as-promised设置了量角器。 我有两个非常基本的功能测试基本示例步骤。 我也在使用预先编译并加载了 SystemJS 的 ES6。 我不知道如何始终如一地重现这个问题。 虽然现在我可以做到这一点,但我改变了我故意失败的特定步骤之一。 不确定它是第一个/最后一个执行还是为什么它必须是那个特定的。

两个步骤包装器基本上如下所示:

var Promise = require('es6-promise').Promise;
var World = require("../support/world.js").World;

module.exports = function() {
    this.World = World;

    this.Given(/^Something exists$/, function() {
        browser.get('http://localhost:3000/');
        return Promise.all([
            expect(browser.getCurrentUrl()).to.eventually.equal('http://localhost:3000/#/dashboard'),
            expect(browser.getTitle()).to.eventually.equal('Dashboard')
        ]);
    });
};

嗨,大家好! 我们在项目中解决了这个问题。 但不幸的是,我并不确切知道问题出在量角器和茉莉花记者版本上还是其他方面。 在测试的某个时候我们写了

element(by.id('logIn')).click().then(function (p) {
                browser.driver.wait(browser.driver.isElementPresent(by.id('Email')));
            });;

还有一些更像,这些等待解决了问题。
我知道这样解决不是最好的,但它现在正在工作,这是第一点,让它工作。

@ Yok86刚刚尝试了您的修复,它奏效了! :+1:

这也比我们的解决方法更整洁。 我们在onPrepare处理程序的末尾扔了一个browser.debugger() ,这似乎解决了时间问题,但我不知道为什么。 这样干净多了。

browser.driver.findElement(by.xpath("//*[@id='submit']")).click().then(function(p) {
      browser.driver.wait(browser.driver.getTitle().then(function (title) {
        return title == 'AppName';
      }));
    });

有同样的问题:

失败:等待量角器与页面同步时出错:“[ng:test] 没有找到 getTestability 的元素参数的注入器\ nhttp://errors.angularjs.org/1.4.5/ng/test
堆:
错误:失败:等待量角器与页面同步时出错:“[ng:test] 没有找到 getTestability 的元素参数的注入器\ nhttp://errors.angularjs.org/1.4.5/ng/test
在堆栈 (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:1482:17)
在 buildExpectationResult (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:1452:14)
在 Spec.Env.expectationResultFactory (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:583:18)
在 Spec.addExpectationResult (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:324:34)
在 Suite.addExpectationResult (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:2123:38)
在 Env.fail (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:894:25)
在 Function.next.fail (c:\Program Filesnodejsnode_modules\protractornode_modules\jasmine-core\lib\jasmine-core\jasmine.js:1806:19)
在 c:\Program Filesnodejsnode_modules\protractornode_modules\jasminewd2index.js:101:16
在 [object Object].promise.ControlFlow.runInFrame_ (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:1877:20)
在 [object Object].promise.Callback_.goog.defineClass.notify (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:2464:25)
在 [object Object].promise.Promise.notify_ (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:563:12)
在 Array.forEach(本机)
在 Object.goog.array.forEach (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\goog\array\array.js:203:43)
在 [object Object].promise.Promise.notifyAll_ (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\webdriver\promise.js:552:16)
在 goog.async.run.processWorkQueue (c:\Program Filesnodejsnode_modules\protractornode_modules\selenium-webdriver\lib\goog\async\run.js:125:21)
在 process._tickCallback (node.js:356:9)

在 OSX 上使用 phantomjs 运行时出现相同的错误。 在 Chrome 中运行良好

等待量角器与页面同步时出错:“[ng:test] http://errors.angularjs.org/1.4.3/ng/test

这里有同样的问题,它工作正常,但现在停止工作

我也有这个问题

+1 上周五工作正常,现在无缘无故不工作

这很棘手。 有人可以努力获得一个孤立且可重复的测试用例吗? 我自己还没有能够可靠地重现这个(虽然,老实说,我还没有做大量的挖掘工作)。

总结这里的一些帖子,错误存在于:

  • 版本:量角器2.x.x (除了1.6.x的 OP 问题)
  • 框架:Jasmine 2
  • 浏览器:Chrome 和 PhantomJS
  • 平台:OSX 和 Windows
  • 角度/非角度页面:???

不幸的是,这是相当广泛的:(

@jessiahr @navarrojp @AndreasMaier你有兴趣帮助调试吗? 我们可以使用gitter房间进行协调。

同样的问题:

  • 版本:量角器2.5.1
  • 框架:茉莉花2
  • 浏览器:Chrome
  • 平台:OSX
  • 有角度的页面

@mrzmyr感谢您提供详细信息。 是否有可能获得一个配置和一个独立的示例规范,您可以在其中重现这一点?

@NickTomlin我很想有一个示例规范或任何类似的东西。 我什至不可能在相同的环境中重现它。 对我来说看起来像是一个时间问题。

我有同样的问题,在我的配置中,我有一个 onPrepare,这条线在那里。
browser.driver.get(targetUrl);

大约 40% 的时间会发生此错误。 知道为什么。

茉莉花2.XX

我遇到了与@mrzmyr相同的问题:

版本:最新版本的量角器
框架:茉莉花2
浏览器:Chrome
平台:OSX
有角度的页面

我将尝试降级到 1.8,看看是否能解决问题。 这很奇怪,因为测试昨天正在运行。

按照此处的教程进行操作,有一个可重现的测试用例。 我使用的配置/测试用例在这里供参考。 该教程不是最准确的,但是它确实为我重现了该问题。

量角器@2.5.1
平台:OSX

框架:Jasmine2
浏览器:Chrome

此错误消息通常是因为使用browser.get以外的其他内容完成了某种导航。 browser.get ,除了更改 URL 之外,还等待 angular 加载并引导 Protractor。

@61ue5peed您的问题是browser.driver.get不提供相同的同步和引导。 在你的事业中,我只想从browser.driver.get切换到browser.get

@jennapederson在你的情况下,我假设#becomeAwesome是一个链接,点击它你可以在没有同步和引导的情况下导航。 在像你这样的情况下,我会在你点击链接后添加一个browser.refresh

其他的报告好像也差不多,所以我要关闭这个问题。 如果人们可以使用完全依赖于borwser.get进行导航的测试来触发此问题,我建议他们打开一个新问题

这个问题在 v 3.3.1 中仍然可以重现。
我正在使用 browser.get 导航到我的主页,但第一次失败。

只是为了让大家知道-> 在我的情况下,问题是加载 Facebook API 的外部 angular 模块....facebook javascript 访问了 angular 应用程序中的 dom 结构并试图对其进行更改。 我不得不更改模块以避免在测试时加载 facebook 脚本

我也得到这个问题。 不经常,但足以成为一个问题。 这是一个普通的 Angular 页面,没有任何外部或非角度的内容。 大多数情况下测试通过,但有时会弹出此错误并失败。 似乎等待模态加载的时间不够长。 它总是在同一个步骤/测试中。

量角器:3.2.2
黄瓜量角器:0.4.0

@drcjones
元素(by.css(selector)).isPresent().then(function (result) {
如果(结果){
元素(by.css(selector)).click();
}
}, 20000);

你好,

我遇到了同样的问题。 我正在尝试获取浏览器的标题。 难道我做错了什么?

Failed: Angular could not be found on the page http://thetestroom.com/jsweba

pp/ : angular 从未提供 resumeBootstrap
堆:
错误:在http://thetestroom.com/jswebap页面上找不到 Angular
p/ : angular 从未提供 resumeBootstrap

` beforeEach(function() {

    browser.get('http://thetestroom.com/jswebapp/');
});

it('should test webpage title', function() {
    expect(browser.getTitle()).toEqual('Zoo Adoption | Home');
});`

任何反馈都会很好。

我没有看到您在等待 Angular 或在获得标题之前等待浏览器或元素中的任何特定 url 更改。 看看这是否有帮助。

browser.get(testUrl).then(function() {
浏览器等待(功能(){
返回 browser.getCurrentUrl().then(function(url) {
返回/thetestroom/.test(url);
});
}, 10000);
});

我们开始在 IE9 中间歇性地看到这个问题。 从 3.2.1 升级到 3.3.0 停止了错误。

同样在这里 - 从 3.2.1 升级到 3.3.0 为我们解决了这个问题

我有同样的错误。 使用铬。 任何建议都很棒。 谢谢

配置文件

出口.config = {
直接连接:真,
allScriptsTimeout: 1000,

// 传递给 webdriver 实例的能力。
能力:{
'浏览器名称':'铬'
// '浏览器名称': '火狐'
},

// 要使用的框架。 推荐茉莉花。
框架:“茉莉花”,

// 规范模式是相对于当前工作目录的
// 量角器被调用。
// 规格:['example_spec.js'],
规格:['*_spec.js'],

seleniumAddress: ' http://localhost :8080/McacApp/index.html',
baseUrl: ' http://localhost :8080/McacApp/index.html',

// 量角器-conf.js
rootElement: '.mcacApp',
// 传递给 Jasmine 的选项。
茉莉花节点选项:{
默认超时间隔:30000,

baseUrl: 'http://localhost:8080/McacApp/index.html',
jasmineNodeOpts: {
  onComplete: null,
  isVerbose: false,
  showColors: true,
  includeStackTrace: false
}

}

};
例子.spec.js

描述('快速测试',函数(){

it('Should do something', function() {

    browser.get('http://localhost:8080/McacApp/index.html');
   element(by.model('ctrl.formData.emailAddress')).sendKeys('emailAddress');
  // element(by.model('ctrl.formData.employmentType')).sendKeys('employmentType');
  element(by.xpath("//button[text()='Confirm']")).click();
  browser.sleep(10000);


    //expect (element(by.xpath("//ui-view/div/div[2]/div[1]/a/div/p"))).toEqual("Manage users and teams.");
    //expect(element(by.xpath("//ui-view/div/div[2]/div[2]/a/div/p"))).toEqual("Define metrics that drive your business.");
    //expect(element(by.xpath("//ui-view/div/div[2]/div[3]/a/div/p"))).toEqual("Create and modify leaderboards that display metrics.");

});

});

@Karpo72 :您能否为此问题提供示例以进行电子邮件和联系人验证。

错误:失败:等待量角器与页面同步时出错:“[ng:test] http://errors.angularjs.org/1.4.7/ng/test

非常感谢。

@reddynr我没有看到你在 .get() 页面之后等待元素或任何东西。 你应该。 请参阅此线程中的上述示例

在你的情况下应该是
browser.get(..).then(function() { browser.driver.wait(browser.driver.isElementPresent(by.model('ctrl.formData.emailAddress'))); // all remaining sendKeys, submit and assert code here. });

@srajagopalan1712感谢您的反馈。 但仍然得到同样的错误。 这是我的实现。

谢谢,非常感谢,如果有任何建议。

描述('mcacapp',函数(){
it('测试电子邮件功能', function()
{
browser.get('http://localhost:8080/McacApp/index.html').then(function() {
浏览器等待(功能(){
返回 browser.getCurrentUrl().then(function(url) {
返回/thetestroom/.test(url);
});
}, 10000);

});
element(by.model('ctrl.formData.emailAddress')).sendKeys('[email protected]');
var greeting = element(by.binding('ctrl.formData.emailAddress'));
期望(greeting.getText()).toEqual('[email protected]');
});
});

与其等待 url 更改,还不如等待 emailAddress 元素出现。 还可以尝试 browser.driver.wait 和 browser.driver.getCurrentUrl。 将所有其他测试代码也移到 get()...{} 块中。

@srajagopalan1712感谢您的反馈。 但仍然得到同样的错误。 您能否提供工作示例将非常有帮助。

非常感谢。

我在上面看到你在上面的代码中有return /thetestroom/.test(url); 。 这是我在较旧的回复中为其他人提供的 url 示例。 请将此处的 'thetestroom' 更改为您的网址。 你应该在这里等待时间而不是角度问题。
这是我必须解决这个问题的代码

 homepage.myButton.click().then(function() {
     browser.driver.wait(function() {
        return browser.driver.getCurrentUrl().then(function(url) {
          return url.includes('......'); // checks if the new url has what you are looking for in ...    
     }); // this waits until the url changes to whatever it should be in ....
    }, 25000, "URL hasn't changed").then(function() {
   // after url changed, in new page check these 
   // pec is protractor expected condition.
    // See http://www.protractortest.org/#/api?view=ProtractorExpectedConditions
     browser.wait(pec.visibilityOf(homepage.feedTitle), 20000); 
     expect(homepage.feedTitle.getText()).toContain('.....');
      expect(homepage.feedBody.getText()).toContain('.....');  
  });

@萨拉达,

非常感谢。 让我以这种方式实施。

纳兰德拉……!

2016年10月7日15:52,Saradha [email protected]写道:

我在上面看到你有 return /thetestroom/.test(url); 在代码中
以上。 这是我为其他人提供的一个例子,用于他们的网址
较旧的反应。 请将此处的“thetestroom”更改为您的网址
看起来像。 你应该在这里等待时间而不是有角度的
问题。
这是我必须解决这个问题的代码

homepage.myButton.click().then(function() {
browser.driver.wait(function() {
返回 browser.driver.getCurrentUrl().then(function(url) {
返回 url.includes('......'); // 检查新 url 是否包含您要查找的内容 ...
}); // 这会一直等到 url 更改为它应该在的任何内容....
}, 25000, "URL 没有改变").then(function() {
// 更改 url 后,在新页面中检查这些
// pec 是量角器预期条件。
// 参见http://www.protractortest.org/#/api ?view=ProtractorExpectedConditions
browser.wait(pec.visibilityOf(homepage.feedTitle), 20000);
expect(homepage.feedTitle.getText()).toContain('....');
期望(homepage.feedBody.getText()).toContain('....');
});


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/angular/protractor/issues/1760#issuecomment -252345767,
或静音线程
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

@萨拉达

非常感谢您的反馈。

我得到以下错误。 如果有任何解决方法,请提供建议。 谢谢你。

运行: npm run dev

错误:找不到模块“./internal/streams/BufferList”

纳兰德拉……!

2016 年 10 月 17 日 16:48,纳伦德拉·雷迪·纳伦德拉。 [email protected]写道:

@萨拉达,

非常感谢。 让我以这种方式实施。

纳兰德拉……!

2016年10月7日15:52,Saradha [email protected]写道:

我在上面看到你有 return /thetestroom/.test(url); 在代码中
以上。 这是我为其他人提供的一个例子,用于他们的网址
较旧的反应。 请将此处的“thetestroom”更改为您的网址
看起来像。 你应该在这里等待时间而不是有角度的
问题。
这是我必须解决这个问题的代码

homepage.myButton.click().then(function() {
browser.driver.wait(function() {
返回 browser.driver.getCurrentUrl().then(function(url) {
返回 url.includes('......'); // 检查新 url 是否包含您要查找的内容 ...
}); // 这会一直等到 url 更改为它应该在的任何内容....
}, 25000, "URL 没有改变").then(function() {
// 更改 url 后,在新页面中检查这些
// pec 是量角器预期条件。
// 参见http://www.protractortest.org/#/api ?view=ProtractorExpectedConditions
browser.wait(pec.visibilityOf(homepage.feedTitle), 20000);
expect(homepage.feedTitle.getText()).toContain('....');
期望(homepage.feedBody.getText()).toContain('....');
});


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/angular/protractor/issues/1760#issuecomment -252345767,
或静音线程
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

您的代码库中的某些内容。 看起来不像角度/量角器错误
我知道。

从我的iPhone发送

2016 年 10 月 19 日晚上 7:54,narendra [email protected]写道:

@萨拉达

非常感谢您的反馈。

我得到以下错误。 如果有任何解决方法,请提供建议。 谢谢你。

运行: npm run dev

错误:找不到模块“./internal/streams/BufferList”

纳兰德拉……!

2016 年 10 月 17 日 16:48,纳伦德拉·雷迪·纳伦德拉。 [email protected]写道:

@萨拉达,

非常感谢。 让我以这种方式实施。

纳兰德拉……!

2016年10月7日15:52,Saradha [email protected]写道:

我在上面看到你有 return /thetestroom/.test(url); 在代码中
以上。 这是我为其他人提供的一个例子,用于他们的网址
较旧的反应。 请将此处的“thetestroom”更改为您的任何网址
将要
看起来像。 你应该在这里等待时间而不是有角度的
问题。
这是我必须解决这个问题的代码

homepage.myButton.click().then(function() {
browser.driver.wait(function() {
返回 browser.driver.getCurrentUrl().then(function(url) {
返回 url.includes('......'); // 检查新 url 是否包含您的内容
寻找...
}); // 这会一直等到 url 更改为它应该在的任何内容....
}, 25000, "URL 没有改变").then(function() {
// 更改 url 后,在新页面中检查这些
// pec 是量角器预期条件。
// 看
http://www.protractortest.org/#/api ?view=ProtractorExpectedConditions
browser.wait(pec.visibilityOf(homepage.feedTitle), 20000);
expect(homepage.feedTitle.getText()).toContain('....');
期望(homepage.feedBody.getText()).toContain('....');
});


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
< https://github.com/angular/protractor/issues/1760#issuecomment -252345767
,
或静音线程
<
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza

.


你收到这个是因为你被提到了。
直接回复本邮件,在GitHub上查看
https://github.com/angular/protractor/issues/1760#issuecomment -254996166,
或静音线程
https://github.com/notifications/unsubscribe-auth/AKCDZXWuZX7dJ0R2V2sHgxKqwydQV8o3ks5q1tfngaJpZM4DYTza
.

嗨 srajagopalan1712,

我正在运行一个关于量角器低于错误的示例。 能否请您指教。 谢谢

错误:

goog.global.setTimeout(function() { throw exception; }, 0);
^
等待量角器与页面同步时出错:“[ng:test] http://errors.angularjs.org/1.4.7/ng/test

这是我的代码

描述('我的应用程序测试',函数(){

      browser.get('http://localhost:port/integrated/myWeb.html').then(function() {


    browser.wait(function() {
        return browser.getCurrentUrl().then(function(url) {
            return 'http://localhost:port/integrated/myWeb.html';

            element(by.model('ctrl.formData.emailAddress')).sendKeys('').clear();
            element(by.model('ctrl.formData.emailAddress')).sendKeys('[email protected]');
            element(by.model('ctrl.formData.emailAddress')).getAttribute('value').then(function (value) {
                expect(value).toEqual('[email protected]');
            });

        });
    }, 10000);
});

谢谢你们,

通过在 html 页面中添加 ng-app 标签解决的问题。

我在 Angular 5 测试中看到了同样的错误。 也许这是显而易见的,但我不知道如果你想调试,你需要在运行 e2e 测试之前单独启动“ng serve”。 这是我找到答案的讨论:
https://github.com/angular/angular-cli/issues/4183

希望这可以帮助某人!

此页面是否有帮助?
0 / 5 - 0 等级