从 WebStorm 运行量角器测试时在导入语句中获取意外令牌 { [英] Getting Unexpected token { at the import statement while running protractor tests from WebStorm
问题描述
我使用的是 Node 6.4.1 和 esversion 6.
I am using Node 6.4.1 and esversion 6.
我正在尝试从 WebStorm 运行量角器测试,但在运行时出现以下错误.浏览器被成功调用,但随后停止.
I am trying to run protractor tests from WebStorm but I am getting the following error during run-time. The browser is getting invoked successfully but then it stops.
Error:
[20:15:29] I/launcher - Running 1 instances of WebDriver
[20:15:29] I/hosted - Using the selenium server at http://localhost:4444/wd/hub
[20:15:33] E/launcher - Error: D:\Protractor-Final\e2e-tests\spec.js:3
import {WebDriver as browser} from "selenium-webdriver";
^
SyntaxError: Unexpected token {
at new Script (vm.js:79:7)
at createScript (vm.js:251:10)
at Object.runInThisContext (vm.js:303:10)
at Module._compile (internal/modules/cjs/loader.js:657:28)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)
at Module.load (internal/modules/cjs/loader.js:599:32)
at tryModuleLoad (internal/modules/cjs/loader.js:538:12)
at Function.Module._load (internal/modules/cjs/loader.js:530:3)
at Module.require (internal/modules/cjs/loader.js:637:17)
at require (internal/modules/cjs/helpers.js:22:18)
[20:15:33] E/launcher - Process exited with error code 100
Process finished with exit code 4
Conf.js 文件
"use strict";
exports.config = {
framework: 'jasmine',
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['spec.js'],
capabilities: {
browserName: 'chrome'
}
};
spec.js
"use strict";
import {WebDriver as browser} from "selenium-webdriver";
import {By as by} from "selenium-webdriver";
import {beforeEach, describe, it} from "selenium-webdriver/testing";
import {element} from "protractor";
describe('Protractor Demo App', function() {
let firstNumber = element(by.model('first'));
let secondNumber = element(by.model('second'));
let goButton = element(by.id('gobutton'));
let latestResult = element(by.binding('latest'));
beforeEach(function() {
browser.get('http://juliemr.github.io/protractor-demo/');
});
it('should have a title', function() {
expect(browser.getTitle()).toEqual('Super Calculator');
});
it('should add one and two', function() {
firstNumber.sendKeys(1);
secondNumber.sendKeys(2);
goButton.click();
expect(latestResult.getText()).toEqual('3');
});
it('should add four and six', function() {
firstNumber.sendKeys(4);
secondNumber.sendKeys(6);
goButton.click();
expect(latestResult.getText()).toEqual('10');
});
it('should read the value from an input', function() {
firstNumber.sendKeys(1);
expect(firstNumber.getAttribute('value')).toEqual('1');
});
});
推荐答案
我承认我对 webstorm 并不熟悉,但我认为没有理由在规范文件中需要这些导入.Protractor 应在自动启动时设置这些变量.我可能遗漏了一些内容,但您可以尝试删除它们并查看您的项目是否可以运行.
I'll admit I'm not familiar with webstorm but I see no reason why you need those imports in your spec file. Protractor should setup these variables when it starts up automatically. It's possible I've missed something but can you try removing them and seeing if your project runs then.
import {WebDriver as browser} from "selenium-webdriver";
import {By as by} from "selenium-webdriver";
import {beforeEach, describe, it} from "selenium-webdriver/testing";
import {element} from "protractor";
这篇关于从 WebStorm 运行量角器测试时在导入语句中获取意外令牌 {的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!