這是我想建立我的第一個頁面對象使用WebdriverIOJS:類擴展值不是一個函數或空
登錄測試,但我得到的錯誤ERROR: Class extends value #<Page> is not a function or null
上的login.page.js
3線。
我看不到,我在做什麼錯...是否有任何路徑或文件名錯誤?
/tests/specs/login.specs.js
var expect = require('chai').expect
var LoginPage = require('../pageobjects/login.page')
describe('login form', function() {
it('should deny access with wrong creds', function() {
LoginPage.open()
LoginPage.username.setValue('foo')
LoginPage.password.setValue('bar')
LoginPage.submit()
expect(LoginPage.flash.getText()).to.contain('Your username is invalid!')
})
})
/測試/ pageobjects /頁
'use strict'
class Page {
constructor() {
this.title = 'My Page'
}
open(path) {
browser.url('/' + path)
}
}
module.exports = new Page()
/tests/pageobjects/login.page.js
'use strict'
var Page = require('./page')
class LoginPage extends Page {
get username() { return browser.element('#username') }
get password() { return browser.element('#password') }
get form() { return browser.element('#login') }
get flash() { return browser.element('#flash') }
open() {
super.open('login')
}
submit() {
this.form.submitForm()
}
}
module.exports = new LoginPage()
要導出一個類的實例,而不是類本身 – Gerardo
我不明白這一點... – user3142695
試試'module.exports = Page' – Gerardo