2017-02-20 7 views
0

Я создал проект maven и пытался запустить тесты Cucumber + Selenium + Java, используя плагин TestNG. Хотя некоторые обучающие программы, которые используют JUnit + Cucumber, показывают результаты с каждым сценарием функции, на вкладке результатов теста TestNG отображается только название функции. что мне не хватает?Как сделать тесты TestGG с огурцами в «Результаты бегущей сюиты»?

У меня есть одна функция Аутентификация Внутри у меня есть два сценария входа и выхода.

Я ожидал что-то подобное в «Результаты выполнения Suite» вкладки TestNG: From a JUnit tutorial

My current testng result is like this. 'Authentication' is the feature, but the 2 scenarios inside it are not appearing

+0

Вы должны разделить текущий TestNG вывода и способ воспроизвести то, что вы IBE. В противном случае, как будто вы просите учебник. – juherr

+0

Я отредактировал с моим выходом – BugHunter

ответ

0

Если вы следовали пример, приведенный в источнике огурца Jvm (https://github.com/cucumber/cucumber-jvm/blob/master/examples/java-calculator-testng/src/test/java/cucumber/examples/java/calculator/RunCukesByFeatureAndCompositionTest.java), то это позволит создать один тест на функции из-за DataProvider:

@DataProvider 
public Object[][] features() { 
    return testNGCucumberRunner.provideFeatures(); 
} 

Если изменить DataProvider для возврата сценариев вместо этого, вы получите о ne testNG для каждого сценария.

public List<CucumberFeature> getFeatures() { 
     return runtimeOptions.cucumberFeatures(resourceLoader); 
    } 

public Object[][] provideScenarios() { 
     try { 
      List<CucumberFeature> features = getFeatures(); 
      List<Object[]> scenarioList = new ArrayList<Object[]>(features.size()); 

      for (CucumberFeature feature : features) { 
       List<CucumberTagStatement> scenarios = feature.getFeatureElements(); 

       for (CucumberTagStatement scenario : scenarios) { 
        // If this is a Scenario Outline, split it up so each one is a test. 
        if (scenario instanceof CucumberScenarioOutline) { 
         List<CucumberExamples> cucumberExamplesList = ((CucumberScenarioOutline) scenario).getCucumberExamplesList(); 

         for (CucumberExamples cucumberExamples : cucumberExamplesList) { 
          List<CucumberScenario> exampleScenarios = cucumberExamples.createExampleScenarios(); 
          for (CucumberScenario exampleScenario : exampleScenarios) { 
           scenarioList.add(new Object[]{exampleScenario, exampleScenario.getGherkinModel().getName()}); 
          } 
         } 
        } else 
         scenarioList.add(new Object[]{scenario, scenario.getGherkinModel().getName()}); 
       } 
      } 
      return scenarioList.toArray(new Object[][]{}); 
     } catch (CucumberException e) { 
      return new Object[][]{new Object[]{new CucumberExceptionWrapper(e)}}; 
     } 
    } 
Смежные вопросы