Javascript 为什么可以';量角器在自动初始化的角度位置上查找角度?
如果未收到此错误,我无法使用Javascript 为什么可以';量角器在自动初始化的角度位置上查找角度?,javascript,angularjs,protractor,Javascript,Angularjs,Protractor,如果未收到此错误,我无法使用browser.get(): Error: Angular could not be found on the page http://localhost:5000/#/login debug=timing&saveLogs=true&displayAll=true : angular never provided resumeBootstrap 我可以使用browser.driver.get(),但是我需要在特定的等待和不稳定的测试中编写代码 我一
browser.get()
:
Error: Angular could not be found on the page http://localhost:5000/#/login
debug=timing&saveLogs=true&displayAll=true : angular never provided resumeBootstrap
我可以使用browser.driver.get()
,但是我需要在特定的等待和不稳定的测试中编写代码
我一直在阅读这篇文章,但没有找到任何有用的建议。以下是一些补充细节:
- 登录页面是Angular应用程序的一部分
中调用了
(量角器默认为ng-app
,我已经尝试将
设置为rootElement
,但没有任何区别)html
- 应用程序中使用了
,但使用$timeout
切换每个$interval
没有任何效果$timeout
使用chromeDriver,但我认为这不会引起问题directConnect:true
- 使用
和角度1.2.28
量角器2.0
Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver
Error: Angular could not be found on the page http://localhost:5000/#/login?debug=timing&saveLogs=true&displayAll=true : angular never provided resumeBootstrap
at /Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/lib/protractor.js:479:17
at [object Object].promise.ControlFlow.runInFrame_ (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:1877:20)
at [object Object].promise.Callback_.goog.defineClass.notify (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:2464:25)
at [object Object].promise.Promise.notify_ (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:563:12)
at Array.forEach (native)
at Object.goog.array.forEach (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/array/array.js:203:43)
at [object Object].promise.Promise.notifyAll_ (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/promise.js:552:16)
at goog.async.run.processWorkQueue (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/selenium-webdriver/lib/goog/async/run.js:125:21)
at runMicrotasksCallback (node.js:337:7)
at process._tickCallback (node.js:355:11)
From: Task: WebDriver.manage().timeouts().setScriptTimeout(11000)
at [object Object].webdriver.WebDriver.schedule (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:360:15)
at [object Object].webdriver.WebDriver.Timeouts.setScriptTimeout (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/selenium-webdriver/lib/webdriver/webdriver.js:1367:23)
at [object Object].Runner.createBrowser (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/lib/runner.js:181:30)
at /Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/lib/runner.js:257:21
at _fulfilled (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/q/q.js:797:54)
at self.promiseDispatch.done (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/q/q.js:826:30)
at Promise.promise.promiseDispatch (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/q/q.js:759:13)
at /Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/q/q.js:573:44
at flush (/Users/brandenbyers/Projects/admin-ui/node_modules/grunt-protractor-runner/node_modules/protractor/node_modules/q/q.js:108:17)
at process._tickCallback (node.js:355:11)
at Function.Module.runMain (module.js:503:11)
at startup (node.js:129:16)
at node.js:814:3
问题是量角器需要默认的
窗口。name
:
window.name = "NG_DEFER_BOOTSTRAP!"
但我正在测试的应用程序不使用此默认值。因此,量角器testForAngular
每次都会失败。指向量角器代码的链接:
在app.js中注释掉自定义的
window.name=
可以解决这个问题,但现在我们需要弄清楚如何让量角器使用不同的变量,或者只为测试动态注释掉这一行。有趣的发现!这可能应在量角器github问题跟踪器上报告(仅供参考,标签已定义)。这也是相关的。