angular - Jasmine 中的意外 token 'Import' 问题,Protractor With Angular 2 Project with out angular-cli

标签 angular typescript protractor

我在没有使用 angular-cli 的情况下创建了一个 Angular2 项目。但是当我运行我的 protractor.conf.js 时使用 Protractor 时,它抛出错误 Unexpected token import(browser,element, by) from 'Protractor'。

我正在为测试用例使用类型脚本。

以下是app.po.ts的代码

import { browser, element, by, protractor } from 'protractor';
export class MainPage {
   navigateTo() {
    return browser.get('/');
  }

  getTitle() {
    return browser.getTitle();
  }

  getDasboardTitle() {
    return element(by.css('.al-title')).getText();
  }
}

以下是app.ts的代码

import { MainPage } from './app.po';
describe('demo-project App', function() {
  let page: MainPage ;

  beforeEach(() => {
    page = new MainPage ();
  });

  it('Application should have a title', () => {
    page.navigateTo();
    expect(page.getTitle()).toEqual('Operator - Flight Operation Management');
  });

   it('Dasbord should have a heading', function() {
    expect(page.getTitle()).toEqual('DASHBOARD');
  });
});

下面是 Protractor 运行时的错误

[11:45:08] E/launcher - Error: c:\Angular2\ui\src\protractor\app.ts:1 (function (exports, require, module, __filename, __dirname) { import { OperatorMainPage } from './app.po';
                                                              ^^^^^^ SyntaxError: Unexpected token import
    at Object.exports.runInThisContext (vm.js:76:16)
    at Module._compile (module.js:542:28)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at C:\Node\npm\node_modules\protractor\node_modules\jasmine\lib\jasmine.js:71:5
    at Array.forEach (native) [11:45:08] E/launcher - Process exited with error code 100

最佳答案

您正在导入 MainPage 但调用 Operator MainPageOperator MainPage 类型不存在。

import { MainPage } from './app.po';

describe('demo-project App', function() {
  let page: MainPage;

  beforeEach(() => {
    page = new MainPage();
  });

  it('Application should have a title', () => {
    page.navigateTo();
    expect(page.getTitle()).toEqual('Operator - Flight Operation Management');
  });

   it('Dashbaord should have a heading', function() {
    expect(page.getTitle()).toEqual('DASHBOARD');
  });
});

关于angular - Jasmine 中的意外 token 'Import' 问题,Protractor With Angular 2 Project with out angular-cli,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41549196/

相关文章:

javascript - 将本地主机时间设置为 Protractor

promise - Protractor promise

Angular 2 应用程序结构 : Circular Module Dependencies

javascript - 根据字符串文字参数为函数输入回调参数

angular - ng2-translate:在缺少翻译的情况下,有什么方法可以使用默认语言吗?

reactjs - 在 Jest 中检查我的组件上是否存在可选 Prop

typescript - 使用 svelte 将单选组绑定(bind)到 bool 值

angularjs - 找不到按钮的元素

angular - 错误 TS2339 : Property 'combineLatest' does not exist on type 'typeof Observable'

html - 需要根据打开和关闭的括号为数组元素应用边框