语法错误:意外的令牌 { - 运行量角器黄瓜测试时出错



我只是想从量角器开始 - 黄瓜测试设置,以下是我按照在线一些教程进行的基本设置。感谢分享这一点的撒玛利亚人。

问题是当我尝试运行它时,我收到错误 - 导入的意外令牌。我不知道为什么它会给出这个。任何帮助都非常感谢。

以下是我正在使用的节点等版本 -

C:UsersA>npm --version
6.4.1
C:UsersA>node --version
v10.15.1
C:UsersA>protractor --version
Version 5.4.2

以下是我的功能文件 -

Feature: Go to the home
Display the title
Scenario: Home Page
Given I am on the home page
When I do nothing
Then I should see the title

以下是我的步骤定义文件 -

import { AppPage } from '../pages/app.po';
import { Before, Given, When, Then } from 'cucumber';
import { expect } from 'chai';
let page: AppPage;
Before(() => {
page = new AppPage();
});
Given(/^I am on the home page$/, async () => {
await page.navigateTo();
});
When(/^I do nothing$/, () => {});
Then(/^I should see the title$/, async () => {
expect(await page.getTitleText()).to.equal('Welcome to angular-cli-cucumber-demo!');
});

以下是我的页面对象文件 -

import { browser, by, element } from 'protractor';
export class AppPage {
navigateTo() {
return browser.get('/');
}
getTitleText() {
return element(by.css('app-root h1')).getText();
}
}

当我尝试使用命令ng e2e运行测试时,我得到以下错误 -

DevTools listening on ws://127.0.0.1:56273/devtools/browser/7653bd59-c490-4ac0-a00e-0d3132dc5b11
[0417/123615.432:ERROR:broker_win.cc(137)] Error sending sync broker message: Error (0x5) while retrieving error. (0xE8)
[0417/123615.433:ERROR:command_buffer_proxy_impl.cc(92)] ContextResult::kFatalFailure: AllocateAndMapSharedMemory failed
[12:36:17] E/launcher - Error: C:UsersA527629Documentsworkspace-vs-codepoc-serenitye2esrcstepsapp.steps.ts:1
(function (exports, require, module, __filename, __dirname) { import { AppPage } from '../pages/app.po';
^
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)
at supportCodePaths.forEach.codePath (C:UsersA527629Documentsworkspace-vs-codepoc-serenitynode_modulescucumberlibcliindex.js:142:42)
at Array.forEach (<anonymous>)
at Cli.getSupportCodeLibrary (C:UsersA527629Documentsworkspace-vs-codepoc-serenitynode_modulescucumberlibcliindex.js:142:22)
at C:UsersA527629Documentsworkspace-vs-codepoc-serenitynode_modulescucumberlibcliindex.js:169:41
at Generator.next (<anonymous>)
at asyncGeneratorStep (C:UsersA527629Documentsworkspace-vs-codepoc-serenitynode_modulescucumberlibcliindex.js:44:103)
[12:36:17] E/launcher - Process exited with error code 100
An unexpected error occurred: undefined

将以下部分添加到您的protractor.conf.js

onPrepare() {
require('ts-node').register({
project: require('path').join(__dirname, './tsconfig.json')
});
}

尝试删除

步骤定义

import { Before, Given, When, Then } from 'cucumber';
import { expect } from 'chai';

页面对象

import { browser, by, element } from 'protractor';

这些导入应由量角器在初始化时自动完成。

最新更新