我正在使用空手道编写用于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') |
当我运行此功能文件时,即使csv文件具有4行,它也不会运行方案。
输出如下所示:
0个场景 0步 0m0.000s
它不能识别csv文件并且没有数据传递。
请帮我弄清楚。.
答案 0 :(得分:1)
您应该使用示例标头变量与CSV列标头相同
CSV的列名称为URL
,fileName
,但是您在脚本中使用了<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') |
请参考空手道演示中的示例