【发布时间】:2020-04-13 05:31:30
【问题描述】:
我需要在具有多个端点 url 的功能文件中运行测试。所有测试都命中 REST 端点,我需要针对相同的测试命中多个端点。我想出了以下两个可行的解决方案,但它们都有维护开销。所以我想知道是否有更好的解决方案。
1.添加一个虚拟功能文件: 添加一个新的虚拟功能文件并使用端点 url 作为参数调用实际功能文件,如下所示。实际的特征文件有 100 行的测试数据。所以当这个单独执行时,黄瓜报告显示了 100 个场景,很容易看出有多少通过/失败。但是当使用虚拟功能文件执行时,报告仅显示虚拟功能文件中的 1 个场景,并显示其下的所有 100 个测试用例。
Scenario: Call actual feature file with internal URL
* def params = { endpoint_url: 'internal' }
* karate.callSingle('actualTestCases.feature', params);
Scenario: Call actual feature file with public URL
* def params = { endpoint_url: 'public' }
* karate.callSingle('actualTestCases.feature', params);
2。复制测试数据行并添加一个新列endpoint_url: 在测试数据中,添加重复的测试数据行,并添加一个列 'endpoint_url',其值为 'internal'、'public'。在实际功能文件中使用此列数据。这具有需要复制测试数据的开销。我有超过 3000 行的测试数据。
|testcaseName|email|endpoint_url
|"Valid Parameters"|["validtests@test.com"]|"internal"
|"Valid Parameters"|["validtests@test.com"]|"public"
【问题讨论】:
标签: karate