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

基于场景大纲的空手道和csv文件实现,csv,karate,Csv,Karate,我正在使用空手道为我的API测试编写测试用例 当我尝试在我的计算机上上载文件时,我使用场景大纲,因为我可以动态地更改特定文件夹下磁盘上的文件数。因此,我使用CSV文件,其中包含行的URL和文件名。我的csv文件如下所示(data.csv): 我还将附上csv文件的截图,以防它在本文中格式不清晰 我让功能文件运行我的测试用例,如下所示: Feature: scenario outline using a dynamic table from a csv file Scenario Out

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

当我尝试在我的计算机上上载文件时,我使用场景大纲,因为我可以动态地更改特定文件夹下磁盘上的文件数。因此,我使用CSV文件,其中包含行的URL和文件名。我的csv文件如下所示(data.csv):

我还将附上csv文件的截图,以防它在本文中格式不清晰

我让功能文件运行我的测试用例,如下所示:

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文件
情景大纲:
*网址
*多部分文件myFile={读取:“”,文件名:“”,内容类型:'multipart/form data'}
*多部分字段消息='hello world'
*路标
*状态200
示例:
|读取('data.csv')|

当我运行此功能文件时,即使csv文件有4行,它也不会运行场景

控制台上的输出如下所示:

0场景 0步 0m0.000s

也就是说,它无法识别csv文件,并且没有传递任何数据

请帮我弄清楚


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

CSV中的列名是
URL
fileName
,但您在脚本中使用了

应该是

试试看

功能:使用动态表的场景大纲
从csv文件
情景大纲:
*网址
*多部分文件myFile={读取:“”,文件名:“”,内容类型:'multipart/form data'}
*多部分字段消息='hello world'
*路标
*状态200
示例:
|读取('data.csv')|
参考空手道演示中的示例


我已经看过这些例子了。这对我不起作用。@AbdullahUzundere如果是这样,请遵循以下流程:
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: 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') |