Jasmine中的意外令牌“导入”问题,使用角度cli的角度2项目的量角器

Jasmine中的意外令牌“导入”问题,使用角度cli的角度2项目的量角器

问题描述:

我已经创建了一个Angular2项目,但未使用angular-cli。但是,当我运行我的protractor.conf.js时使用量角器,它的抛出错误'量角器'的意外的令牌导入(浏览器,元素,by)。Jasmine中的意外令牌“导入”问题,使用角度cli的角度2项目的量角器

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

以下为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'); 
    }); 
}); 

及后面的代码错误,同时运行量角器

[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 
+0

app.ts和app.po.ts是什么样子的?我不认为这个错误是来自包含的代码 – cnishina

+0

我已经为这两个文件添加了代码。 –

+0

也许尝试从'量角器/内置';''导入{浏览器,元素,由,量角器}。它帮助了我。 – FCin

您正在导入MainPage,但调用OperatorMainPageOperatorMainPage类型不存在。

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'); 
    }); 
}); 
+0

谢谢你看,但这不是问题..它发生在复制时。主要问题是我的protractor.conf.js调用app.ts,但app.ts不编译为js ....这就是为什么它没有找到导入。 –

+0

Huzzah!你也可以在你的'onPrepare'中使用'ts-node'来跳过这个步骤来转换成JavaScript。 – cnishina

+0

是的,那.. –