以下是我的步骤:
Then(/^I clear default folder name$/, function () {
var d = new Date();
var n = d.getTime();
// var folderName= "Drawings"+Math.random()+'\n';
var folderName= "Drawings"+n+'\n';
var row = element.all(by.repeater('node in nodes.selectedNode.children track by node._id')).last();
var cells = row.all(by.tagName('input'));
return cells.map(function (elm) {
return elm.clear().then(function(){
return elm.sendKeys(folderName);
});
});
});
Then(/^I see folder updated notification$/, function () {
return element(by.xpath("//div[contains(@class,'notification-bottom-bar show')]")).getText().then(function(itemss) {
console.log(itemss);
return expect(itemss).to.have.string(folderName+ 'has been updated');
})
});
在这种情况下,我们需要如何将 folderName 值从第一步传递到下一步。类似地,我们如何在场景之间传递变量值。
答案 0 :(得分:0)
您的量角器测试仅驻留在普通的javascript文件中。因此,您只需通过常规全局变量传递数据即可。像这样:
document.all
请记住在顶部声明folderName变量,以使其在所有步骤函数中均可访问。
要在场景之间传递数据,可以使用黄瓜钩子。查看更多信息 https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/hooks.md