Реализация каратэ и CSV-файлов в набросках сценариев - PullRequest
2 голосов
/ 08 марта 2019

Я пишу контрольные примеры для тестирования API с использованием каратэ.

Когда я пытаюсь загрузить файлы на свой компьютер, я использую Scenario Outline, потому что я динамически изменяю количество файлов на диске в определенной папке. По этой причине я использую CSV-файл, который содержит URL и fileName строк. Мой CSV-файл выглядит следующим образом (data.csv):

|URL|fileName|
|http://localhost:8080/VIN/input/telemetry/division_vin_2019_01_12_22_56_01_telemetry.json|telemetry_19_01_12_22_56_01.json.bz2|
|http://localhost:8080/VIN/input/media/vinId_1012_2019_01_12_22_55_55_10_c4.jpeg|c4_wm.jpeg|
|http://localhost:8080/VIN/input/media/vinId_1012_2019_01_12_22_55_55_10_c5.mp4|c5_wm.mp4|
|http://localhost:8080/VIN/input/media/vinId_1012_2019_01_12_22_55_55.json.bz2|media_19_01_12_22_55_59.json.bz2|

Я также приложу скриншот файла CSV на случай, если он не отформатирован в этом посте.

И у меня есть Feature Feature, который запускает мой тестовый пример, как показано ниже:

Feature: scenario outline using a dynamic table
  from a csv file

  Scenario Outline:
    * url <URL>
    * multipart file myFile = { read: '<fileName>', filename: '<fileName>', contentType: 'multipart/form-data' }
    * multipart field message = 'hello world'
    * method post
    * status 200
    Examples:
      | read('data.csv') |

Файл функций

Когда я запускаю этот файл объектов, он не запускает сценарии, даже если файл CSV имеет 4 строки.

Вывод на консоль выглядит следующим образом:

0 Сценарии 0 шагов 0m0.000s

Что не распознает файл CSV, и данные не передаются.

Пожалуйста, помогите мне разобраться ..

Скриншот файла data.csv

1 Ответ

1 голос
/ 08 марта 2019

Вы должны использовать переменные заголовка примера так же, как в заголовке столбца CSV

Имена столбцов в CSV: URL, fileName, но вы использовали <link>, <file> в своем скрипте.

Предполагается, что <URL> и <fileName>

try,

Feature: scenario outline using a dynamic table
  from a csv file

  Scenario Outline:
    * url <URL>
    * multipart file myFile = { read: '<fileName>', filename: '<fileName>', contentType: 'multipart/form-data' }
    * multipart field message = 'hello world'
    * method post
    * status 200
    Examples:
      | read('data.csv') |

см. Примеры из демонстрации каратэ

Функция динамического CSV

Примеры CSV

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...