Jbehave как управляемая данными среда тестирования

У меня есть несколько сценариев, написанных на Jbehave и я хотел бы запустить его для 1000+ данных. Проблема в том, что я не могу перечислить все элементы данных в "Примерах", потому что, во-первых, они не обслуживаются, а во-вторых, я ежедневно получаю этот файл данных из внешней службы.

Есть ли способ написать сценарий, который может взять данные из файла?

2 ответа

Параметры могут быть загружены из внешнего файла,
Подробности с примером здесь: http://jbehave.org/reference/stable/parametrised-scenarios.html

Загрузка параметров из внешнего ресурса

Таблица параметров также может быть загружена из внешнего ресурса, будь то ресурс classpath или URL.

  Given a stock of <symbol> and a <threshold> 
  When the stock is traded at <price> 
  Then the alert status should be <status>   
  Examples:
  org/jbehave/examples/trader/stories/trades.table  

Нам нужно включить синтаксический анализатор для поиска ресурса с соответствующим загрузчиком ресурсов, настроенным с помощью examplesTableFactory:

new MostUsefulConfiguration()
         .useStoryParser(new RegexStoryParser(
               new ExamplesTableFactory(new LoadFromClasspath(this.getClass())))
          )

У меня тоже есть такое же требование, и я думаю, что ниже будет возможным решением.

Реализуйте метод для чтения таблицы Excel и подготовки testData.table перед выполнением запуска сценария, используйте аннотацию @BeforeScenario jbehave в файле java шагов.

перейдите по этой ссылке, чтобы реализовать загрузку данных с внешнего ресурса http://jbehave.org/reference/stable/parametrised-scenarios.html

 @BeforeScenario
   public void prepareTestData(String excelSheetPath) {
      // java code to read given excelSheetPath and prepare a *.table

   }
Другие вопросы по тегам