2017-01-09 102 views
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

回答

1

您正在導入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

是的,那.. –