【问题标题】:Protractor Error: SyntaxError: Unexpected token =量角器错误:SyntaxError: Unexpected token =
【发布时间】:2016-07-28 12:41:45
【问题描述】:

我的印象是我的 webdriver 脚本突然停止工作。 这以前对我有用:

var loginPageObject = require ('./pageObjects/00_login_page.po.js');

describe('log in to app', function() {

  it('should login to app', function() {

browser.get('https://myapp/#!/login');
element(by.name('email')).sendKeys('user');
element(by.name('password')).sendKeys('pwd');;
element(by.name('formLogin')).submit();
expect(browser.getCurrentUrl()).toEqual('https://myapp/#!/dashboard');

  });

});

现在它返回 Unexpected token =

[launcher] Error: SyntaxError: Unexpected token =
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:373:25)
    at Object.Module._extensions..js (module.js:416:10)
    at Module.load (module.js:343:32)
    at Function.Module._load (module.js:300:12)
    at Module.require (module.js:353:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (C:\Users\user\myapp\src\ui\test\e2e\login_to_app.js:1:9)

login_to_app.js:1:9 由“=require”决定。文件 login_to_app.js 存在。

因为当我在require命令中更改文件名时,例如

var a = require ('./pageObjects/00_login_page.po.js.BLAH');
describe('log in to app', function() {
    it('should login to app', function() 

返回错误

[launcher] Error: Error: Cannot find module './pageObjects/00_login_page.po.js.BLAH'

有什么想法吗?我有另一个项目,其中非常相似的脚本使用 var a = require ('./pageObjects/00_login_page.po.js');

这是我的 pageObjects/00_login_page.po.js

var LoginPage = function () {

var user        = 'myuser';
var pwd         = 'mypwd';
var loginForm   = element(by.name('formLogin'));    
var username    = element(by.name('email'));
var password    = element(by.name('password'));
var register    = = element(By.xpath('/html/body/div/div/main/section/p[1]/a'));

this.getLoginPage = function () {browser.get('myapp/#!/login');};
this.setUsername = function (name) {username.sendKeys(name);};
this.setPassword = function (_password) {password.sendKeys(_password);};
this.enterUsername = function () {this.setUsername(user);};
this.enterPassword = function () {this.setPassword(pwd);};
this.loginFormSubmit = function () {loginForm.submit();}

};

module.exports = LoginPage;

【问题讨论】:

  • 你能展示一下00_login_page.po.js里面的内容吗?
  • 嗨@alexce 我已将 00_login_page.po.js 粘贴到我的第一个问题中。
  • 哦,伙计...在 var register = = element(By.xpath('/html/body/div/div/main/section/p[1]/一种'));我只是在这个文件中搜索。感谢@alexce 的建议!

标签: selenium protractor


【解决方案1】:

这是由于项目依赖版本以及 npm/node 版本造成的。降级到节点 4.1.1 后运行测试时出现此错误。我必须同步量角器和 selenium-webdriver 的依赖项。

“量角器”:“2.5.1”, "selenium-webdriver": "3.0.0-beta-3",

这 2 个版本适用于 npm/node 版本 v3.3.5/v4.1.1

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-21
    • 2016-07-22
    • 1970-01-01
    • 1970-01-01
    • 2016-10-04
    • 2014-04-07
    • 2023-03-04
    • 1970-01-01
    相关资源
    最近更新 更多