我想获得一些关于黄瓜测试中每步使用次数的统计数据
所以我想说我有一个像
这样的步骤定义this.When(/^"([^"]*)" is clicked$/, function (someElementId, callback){});
此步骤的2个用法(在一个或多个要素文件中)
"a" is clicked
"b" is clicked
我想知道这个步骤"([^"]*)" is clicked
被使用了两次并获得每次执行所花费的时间。我想动态地做,而不涉及实际的步骤定义。
我可以在后续活动中获得类似"a" was clicked
的步骤名称,但我无法获得正则表达式。理想情况下,我希望得到step.getRegexp()
:
this.AfterStep(function (step, callback) {
console.log(step.getName())// => prints "a" was clicked
//need smth like step.getRegexp() to make "a" and "b" click identified as the same step
}
答案 0 :(得分:1)
您可以使用相同的正则表达式来匹配步骤的名称。
let clickCounter = 0;
module.exports = function () {
const LINK_IS_CLICKED_STEP_REGEXP = /^"([^"]*)" is clicked$/;
this.When(LINK_IS_CLICKED_STEP_REGEXP, function (someElementId, callback){});
this.AfterStep(function (step) {
if (LINK_IS_CLICKED_STEP_REGEXP.test(step.getName())) {
clickCounter++;
}
});
}