「シナリオ:ここに名前があります」という意味です-いつ取得したいですか? カスタムリスナーをアタッチして、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ハンドラー内で使用できる必要があります。
これが正しい解決策を示唆することを願っています。
これは課題追跡システムです。 代わりに、サポートの質問をcukesgoogleグループに投稿してください。
これを今行うための最新かつ最高の方法は何ですか? ステップ名などを取得しますか?
バンプ
最も参考になるコメント
これを今行うための最新かつ最高の方法は何ですか? ステップ名などを取得しますか?