场景大纲中的空手道和csv文件实现

问题描述 投票:2回答:1

我正在使用Karate为我的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 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

csv karate
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.