这是一种在守夜人中链接 chai.js 期望的方法吗
Is it a way to chaining chai.js's expects in nightwatch
我想使用 chai.js assertion bdd library with Nightwatch.js。
有效!我的代码如下所示:
var expect = require('chai').expect
module.exports = {
'Login' : function (browser) {
var login = browser.page.login()
login.expect.element('@login').to.not.be.enabled
login.setValue('@email', 'some@some.com')
login.setValue('@password', 'pass')
login.expect.element('@login').to.be.enabled
login.click('@login')
login.end()
}
}
但是。 Nightwatch 为自己的方法提供了非常流畅的接口,使您能够链接 browser.setValue('...', '...').click('...').end()
.
等方法
问题:如果我使用 chaijs,我可以实现方法链接吗?
说明,我要的是:
module.exports = {
'Login' : function (browser) {
var login = browser.page.login()
login.expect.element('@login').to.not.be.enabled
.setValue('@email', 'some@some.com')
.setValue('@password', 'pass')
.expect.element('@login').to.be.enabled
.click('@login')
.end()
}
}
我可以让我的测试看起来像上面的代码吗?
为了使用多重期望,你必须这样做:
module.exports = {
'Login' : function (browser) {
var login = browser.page.login()
login.expect.element('@login').to.not.be.enabled
login
.setValue('@email', 'some@some.com')
.setValue('@password', 'pass')
.expect.element('@login').to.be.enabled
login
.click('@login')
.end()
}
}
当您在测试中或在页面对象中的自定义函数中使用 .expect(...) 时会发生这种情况,您必须再次使用 browser/client/page 对象变量以再次开始链接。
我想使用 chai.js assertion bdd library with Nightwatch.js。
有效!我的代码如下所示:
var expect = require('chai').expect
module.exports = {
'Login' : function (browser) {
var login = browser.page.login()
login.expect.element('@login').to.not.be.enabled
login.setValue('@email', 'some@some.com')
login.setValue('@password', 'pass')
login.expect.element('@login').to.be.enabled
login.click('@login')
login.end()
}
}
但是。 Nightwatch 为自己的方法提供了非常流畅的接口,使您能够链接 browser.setValue('...', '...').click('...').end()
.
问题:如果我使用 chaijs,我可以实现方法链接吗?
说明,我要的是:
module.exports = {
'Login' : function (browser) {
var login = browser.page.login()
login.expect.element('@login').to.not.be.enabled
.setValue('@email', 'some@some.com')
.setValue('@password', 'pass')
.expect.element('@login').to.be.enabled
.click('@login')
.end()
}
}
我可以让我的测试看起来像上面的代码吗?
为了使用多重期望,你必须这样做:
module.exports = {
'Login' : function (browser) {
var login = browser.page.login()
login.expect.element('@login').to.not.be.enabled
login
.setValue('@email', 'some@some.com')
.setValue('@password', 'pass')
.expect.element('@login').to.be.enabled
login
.click('@login')
.end()
}
}
当您在测试中或在页面对象中的自定义函数中使用 .expect(...) 时会发生这种情况,您必须再次使用 browser/client/page 对象变量以再次开始链接。