黄瓜步骤上错误的步骤
问题描述:
以下步骤测试失败(故意)未按:黄瓜步骤上错误的步骤
Then(/^the 150 button has been deselected$/, function() {
driver.sleep(5000);
var checboxValue = driver.findElement(By.css('#app > div > div > div > div.col-xs-offset-2.col-xs-10 > div > div > div:nth-child(3) > div:nth-child(1) > div:nth-child(6) > div > label:nth-child(2) > input[type="checkbox"]'))
checboxValue.isSelected()
.then((val) => { return assert.equal(val, true) })
})
然而,在命令行上述步骤通行证但以下步骤失败(以正确的/预期的错误消息):
When(/^Date 1 is entered$/, function() {
var dateInput1 = driver.findElement(By.css('#app > div > div > div > div.col-xs-offset-2.col-xs-10 > div > div > div:nth-child(3) > div:nth-child(1) > div:nth-child(5) > div > div:nth-child(1) > input'));
dateInput1.click();
driver.sleep(8000);
return dateInput1.sendKeys('2017-07-13');
})
这里的将会发生什么,在命令行:
(tick)Then the 150 button has been deselected # features\step_definitions\task_2.js:23
× When Date 1 is entered # features\step_definitions\task_2.js:30
AssertionError: false == true
+ expected - actual
-false
+true
发生了什么事这里?对我而言,'Then'步骤应该失败,'When'步骤应该在cmd行中以蓝色显示 - (即,由于上一步失败未达到)。
感谢
答
尝试采用这种封装形式,而不是github.com/djungowski/cucumber-assert。我非常确定它必须采取一些措施来使用它。
var assert = require('cucumber-assert');
module.exports = function() {
this.Given(/^the field E-Mail is filled with "([^"]*)"/, function (email, callback) {
var fieldValue = this.getFieldValue('#password');
assert.equal(fieldValue, email, 'Expected E-Mail to be ' + email).then(callback, callback);
});
}
您使用的是哪些npm模块? –
“assert”:“^ 1.4.1”,“cucumber”:“^ 3.0.0”,“phantomjs”:“^ 2.1.7”,“selenium-webdriver”:“^ 3.5.0” –
这些是一些我正在使用的相关模块。我想这就是你要求的? –