2019.01.21
Nightwatch.jsでdisabled属性をテストしたい
HTML
<button disabled>送信</button>
テストコード
'disabled属性が有効ならOK': (client) => {
client
// これはOK
.assert.attributeEquals('button', 'disabled', 'true')
// エラー expected "true" but got: "true"
.assert.attributeEquals('button', 'disabled', true)
}
'disabled属性が無効ならOK': (client) => {
client
// エラー expected "false" but got: "null"
.assert.attributeEquals('button', 'disabled', 'false')
// エラー expected "false" but got: "null"
.assert.attributeEquals('button', 'disabled', false)
// エラー expected "null" but got: "null"
.assert.attributeEquals('button', 'disabled', 'null')
// エラー expected "null" but got: "null"
.assert.attributeEquals('button', 'disabled', null)
// エラー expected "" but got: "null"
.assert.attributeEquals('button', 'disabled', '')
}
下記のようにすればOK。
なおアロー関数式で書くと、this.assert
がundefined
で死ぬので注意。
'disabled属性が無効ならOK': (client) => {
client
.getAttribute('button', 'disabled', function (result) {
this.assert.equal(result.value, null)
})
}