你的意思是“场景:这是名字”——你想在什么时候检索它? 您可以附加自定义侦听器并在 BeforeScenario 事件期间获取场景负载并在其上调用 getName()
你是怎样做的? 因为这两个都返回“未定义”。
this.registerHandler('BeforeScenario', function (event, callback) {
console.log(event.getPayloadItem());
callback();
});
this.registerHandler('BeforeStep', function (event, callback) {
console.log(event.getPayloadItem());
callback();
});
嗨,斯图尔特,
再试试这个代码:
// This code is generated from coffeescript so it appears a bit more verbose than needed
this.registerHandler('BeforeScenario', function (event, callback) {
var scenario = event.getPayloadItem('scenario');
console.info("\n[" + (scenario.getName()) + "](" + (scenario.getUri()) + ":" + (scenario.getLine()) + ")");
callback();
});
this.registerHandler('BeforeStep', function (event, callback) {
var step = event.getPayloadItem('step');
console.info("\n[" + (step.getName()) + "](" + (step.getUri()) + ":" + (step.getLine()) + ")");
callback();
});
诀窍是您需要为getPayloadItem()
提供一个参数。
为了回答您的问题,您应该能够将当前运行的场景属性存储在 BeforeScenario 处理程序之外的对象中,然后在 BeforeStep 处理程序中使用它。
我希望这会提示您找到正确的解决方案。
这是一个问题跟踪器。 请改为将支持问题发布到cukes谷歌组。
现在最新和最好的方法是什么? 获取步骤名称等?
撞
最有用的评论
现在最新和最好的方法是什么? 获取步骤名称等?