2014-05-12 11 views
11

Vorrei ottenere il nome dello scenario per avere registri significativi e generare report personalizzati in fase di esecuzione in java. La classe scenario ha solo i metodi getStatus() e getSourceTagNames(). Non trovo un modo per ottenere il nome dello scenario.Come ottenere il nome dello scenario in cetriolo java?

Qualcuno può aiutarmi a risolvere il problema?

risposta

19

Oltre a, getStatus() e getSourceTagNames(), c'è un altro metodo, getName() che restituisce descrizione dello scenario. Ad esempio, per uno scenario come segue:

Scenario: verify number of topics shown in the UI 

scenario.getName() rendimenti "verify number of topics shown in the UI"

inizializzo scenario in @Before come segue:

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

Spero che questo aiuti.

+0

Grazie mille. In realtà ho dimenticato di menzionare la versione di cetriolo che sto usando. Stavo provando con la versione 1.5. Ho provato con 1.6 e ha funzionato. – user2365105

0
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); 

volta che hai il @Before istituito loro provare questo per recuperare la funzionalità cetriolo e gli elementi dello scenario.

Problemi correlati