方案大纲上的空手道和csv文件实现

时间:2019-03-08 16:45:01

标签: csv karate

我正在使用空手道编写用于API测试的测试用例。

当我尝试在计算机上上传文件时,我使用方案大纲,因为我已动态更改了特定文件夹下磁盘上的文件数。因此,我正在使用包含URL和fileName行的CSV文件。我的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 File运行我的测试用例,如下所示:

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') |

Feature File

当我运行此功能文件时,即使csv文件具有4行,它也不会运行方案。

输出如下所示:

0个场景 0步 0m0.000s

它不能识别csv文件并且没有数据传递。

请帮我弄清楚。.

data.csv File Screenshot

1 个答案:

答案 0 :(得分:1)

您应该使用示例标头变量与CSV列标头相同

CSV的列名称为URLfileName,但是您在脚本中使用了<link><file>

应该是<URL><fileName>

尝试

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') |

请参考空手道演示中的示例

Dynamic CSV feature

Examples CSV