[英]How to use ES6 classes in protractor?
我想在量角器的測試中使用ES6類。 但是,當我運行protractor conf.js
我有SyntaxError: Unexpected token export
此行上的SyntaxError: Unexpected token export
export default class AngularHomePage {
除了SELENIUM_PROMISE_MANAGER: false
設置之外,我也不能出於某種原因使用await / async。
我可以使用這種語法,還是我錯過了什么?
我試圖import AngularHomePage from './PageObject'
導入這個類作為import AngularHomePage from './PageObject'
,但它給了我相同的SyntaxError,但對於這一行。 然后我使用const homePage = require('../Protractor demo/PageObject')
,但它也不起作用。
這是我的班級代碼:
export default class AngularJsHomePage {
constructor() {
this.nameInput = element(by.model('yourName'))
this.greeting = element(by.binding('yourName'))
}
async get () {
await browser.get('http://www.angularjs.org')
}
async setName (name) {
await this.nameInput.sendKeys(name)
}
async getGreetingText () {
return await this.greeting.getText()
}
getGreeting () {
return this.greeting
}
}
這是我的spec.js代碼
// import { element, by, browser } from "protractor"
// import AngularJsHomePage from "./PageObject"
const homePage = require('../Protractor demo/PageObject')
describe('Angular homepage', function() {
it('should greet the named user', function() {
const page = new homePage()
await page.get()
await page.setName('Julie')
expect(await page.getGreetingText()).toEqual('Hello Julie')
})
})
你需要使用名為babel的 npm。
它用於將ECMAScript 2015和更新版本的JS轉換為后向版本。
npm install babel-register
npm install babel-preset-env
onPrepare: () => {
require("babel-register");
}
{
"presets": ["env"]
}
你可以在這里閱讀更多關於Babel的內容。
也許您需要安裝更多的babel軟件包,具體取決於您使用的版本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.