CoffeeScript中的量角器测试产生"SyntaxError:unexpected by"?

Xåp*_* - 4 javascript coffeescript jasmine angularjs protractor

我正在尝试在CoffeeScript中编写以下Protractor测试:

describe "tests", ->

  browser.get "/"

  it "should display Login page", ->
    expect(element(by.css("h1")).getText()).toBe "Login"
Run Code Online (Sandbox Code Playgroud)

但是,CoffeeScript吐出了这个错误:

SyntaxError:意外的

解决方案?

hou*_*se9 12

就像@meagar所说它是保留的,你可以在onPrepare块中的量角器配置中对它进行别名:

require('coffee-script/register');

exports.config = {
  ....

  // by is reserved in coffee script
  onPrepare: function() {
    global.By = global.by;
  }
}
Run Code Online (Sandbox Code Playgroud)

然后

expect(element(By.css("h1")).getText()).toBe "Login"
Run Code Online (Sandbox Code Playgroud)

  • 谢谢!但我刚看了一下Protractor的源代码,似乎`By`已经是别名了.:)请参阅:https://github.com/angular/protractor/blob/ad33da8ecc76322cee36a7344042a52ff33c280c/lib/runner.js#L176 (3认同)