Angularjs 量角器E2E角形;在窗口上找不到角度;

Angularjs 量角器E2E角形;在窗口上找不到角度;,angularjs,protractor,e2e-testing,Angularjs,Protractor,E2e Testing,在angular project中运行测试后,我出现了一个奇怪的错误错误:在等待量角器与页面同步时出错:“在窗口上找不到angular”。我的量角器配置如下所示: require('coffee-script').register(); exports.config = { seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.39.0.jar', seleniumAddr

在angular project中运行测试后,我出现了一个奇怪的错误
错误:在等待量角器与页面同步时出错:“在窗口上找不到angular”
。我的量角器配置如下所示:

require('coffee-script').register();

exports.config = {
  seleniumServerJar: './node_modules/protractor/selenium/selenium-server-standalone-2.39.0.jar',
  seleniumAddress: 'http://localhost:4444/wd/hub',

  capabilities: {
    browserName: 'chrome'
    //'chromeOptions': {
    //  'args': ['--disable-extensions']
    //}
  },

  specs: [
    '*_spec.coffee'
  ],

  allScriptsTimeout: 10000000000,
  baseUrl: 'http://localhost:9003/',

  jasmineNodeOpts: {
    isVerbose: false,
    showColors: true,
    includeStackTrace: true,
    defaultTimeoutInterval: 10000000000
  }
};
和测试:

loginPage = require './pages/log_in_page'

describe 'Log In', ->

      it 'shows after login', ->
        loginPage()
        .setEmail('test@dispatch.me')
        .setPass('a46s75d4as765d4a6s7d54as76d5as74das76d5')
从以下页面获取信息:

module.exports = ->
      @email = element By.css '.test-i-login'
      @password = element By.css '.test-i-password'

      @setEmail = (name) =>
        @email.sendKeys(name)
        this

      @setPass = (number) =>
        @password.sendKeys(number)
        this
      this

github上也有一些类似的问题,但我没有找到适合我的解决方案。Thx用于回答。

量角器用于测试角度应用程序,这意味着在HTML主体中有
ng app
标记的网页和对应于Javascript文件中角度代码的控制器

量角器之所以如此有用,是因为角度应用程序是异步运行的,这意味着它们在加载网页时并不总是完成加载。大多数测试框架都会在页面完全就绪之前尝试单击、键入内容等。量角器检测所有在后台运行的角度进程,以便在一切准备就绪之前,您不会意外地执行某些操作

量角器告诉您的是,它没有发现页面上运行任何角度进程。您的页面可能工作得很好,但它并不依赖于量角器可以识别的角度


这并不意味着量角器不能测试页面。您可以使用
browser.driver.any\u WebDriver\u command\u here()
访问常规的WebDriver命令。您将错过量角器提供的出色同步功能。

发生这种情况的原因,因为我的chromedriver路径安装错误。这就是为什么我收到这个信息“在窗户上找不到角度”。我遇到的另一个问题是,我需要手动运行webdriver作为后台进程。这通过做正确的吞咽任务(我做错了)来解决,看起来像这样:

gulp.task ['test'], ->
   runSequence start_server, run_protractor, end_server.

假设它会帮助一些人,他们会有类似的(愚蠢的)问题。

将量角器配置中的
框架
选项更改为
'jasmine2'
为我解决了这个问题


请参阅以获取更多信息。

在我的场景中,登录页面是无角度的,尝试了以下方法,为我解决了问题

browser.driver.findElement(By.id('username')).sendKeys('binnu');

不,那是另一回事,不是量角器。我让我的gulp任务运行错误,chromdriver路径错误,因此如果没有chrome操作,它将无法执行任何操作。您所说的窗口是否可能是非角度的?在这种情况下会出现这样的错误是的,这对我来说很有用。我在升级到量角器2.0后发现了这个问题。只需在conf.js文件中添加
framework:'jasmine2',
,您能详细说明一下您在哪里更改了chromedriver路径吗?用代码演示实际的吞咽任务也会很有帮助。谢谢