Protractor 量角器-javascript-在步骤之间传递变量值
以下是我的步骤:Protractor 量角器-javascript-在步骤之间传递变量值,protractor,cucumber,cucumberjs,Protractor,Cucumber,Cucumberjs,以下是我的步骤: 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';
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值从第一步传递到下一步。类似地,我们可以在场景之间传递变量值。您的量角器测试仅驻留在普通javascript文件中。所以,您可以通过普通的全局变量传递数据。像这样:
let folderName;
Then(/^I clear default folder name$/, function () {
var d = new Date();
var n = d.getTime();
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变量,以便在所有步骤函数中都可以访问它
要在场景之间传递数据,可以使用cucumber钩子。有关更多信息,请访问