首页 > 解决方案 > 空手道 API 测试 - 如何迭代读取多个 json 文件以用作单个场景的请求?

问题描述

另外,我需要从项目的根文件夹中为以下代码提供 json 文件路径:

Feature: sample karate test script

Background:
* url 'http://somesample.com'

Scenario: Testing Karate

Given path '/json_verify'
And request read ('a_confirm1.json')
And header Accept = 'application/json'
When method post
Then status 200 

我有 a_confirm1、a_confirm2 等文件名。

标签: javascriptjavaautomated-testskarateweb-api-testing

解决方案


首先,您可以在read()函数中执行此操作,因为它是纯 JS:

And def index = <index>
And request read ('a_confirm' + index + '.json')

然后请阅读数据驱动测试:https ://github.com/intuit/karate#data-driven-tests

Examples:
| index |
|     1 |
|     2 |

还有许多其他方法可以做到这一点,例如使用循环。只需浏览示例和演示。从“根文件夹”是一种不好的做法,请尝试将它们保存在您的项目目录下。但如果你坚持,请参考:https ://stackoverflow.com/a/53304969/143475


推荐阅读