web-dev-qa-db-ja.com

キュウリのJavaでシナリオの名前を取得する方法

シナリオの名前を取得して意味のあるログを取得し、Javaで実行時にカスタムレポートを生成したいと思います。シナリオクラスにはgetStatus()メソッドとgetSourceTagNames()メソッドしかありません。シナリオ名を取得する方法が見つかりません。

誰かがこれを解決するのを手伝ってくれる?

24
user2365105

バージョン1.6以降、getStatus()およびgetSourceTagNames()に加えて、シナリオの説明を返す別のメソッドgetName()があります。たとえば、次のようなシナリオの場合:

_Scenario: verify number of topics shown in the UI
_

scenario.getName()は_"verify number of topics shown in the UI"_を返します

@Beforeでシナリオを次のように初期化します。

_@Before
public void before(Scenario scenario) {
    this.scenario = scenario;
}
_

お役に立てれば。

28
Sridevi Yedidha
String scenarioName = scenario.getName();
String[] arrayScenarioName = scenarioName.split("--");
String scenarioName1 = arrayScenarioName[0]; 
String scenarioName2 = arrayScenarioName[1]; 
System.out.println("Scenario Name 1 for this test is -> " + scenarioName1);
System.out.println("Scenario Name 2 for this test is -> " + scenarioName2);

String scenarioId = scenario.getId();
//Takes the Scenario ID and removes the ; and splits it into 2 strings
String scenarioId4 = scenarioId;
String[] parts = scenarioId4.split(";");
String part1 = parts[0]; 
String part2 = parts[1]; 
String part11 = part1.replace('-', ' ');
String part22 = part2.replace('-', ' ');
System.out.println("Scenario ID for this test is -> part11 " + part11);
System.out.println("Scenario ID for this test is -> part22 " + part22);

@Beforeをセットアップしたら、これを試して、キュウリの機能とシナリオのアイテムを取得します。

0
Jrf

ステップ定義内では、CucumberHelper.scenario.getName()を使用できます。

このAPIに基づいて、getIDgetSourceTagNamesgetStatusおよびgetClassメソッドを使用できます。

0
Philip D.