api - 如何从第一个 api 获取不同的值并使用空手道传入第二个 api
问题描述
来自第一个 api 的响应(其中有重复的对象):
[
{
"siteHK": "B996F6FC9D3C743A0883A8F383",
"siteName": "RESIDENTIAL"
},
{
"siteHK": "EB79DD896F3BAFA754FBAEB27850",
"siteName": "GROVE"
},
{
"siteHK": "3C9101A8F0957846505F6E4CC",
"siteName": "R8 ANADARA"
},
{
"siteHK": "3C9101A8F0957846505F6E4CC",
"siteName": "R8 ANADARA"
},
{
"siteHK": "EB79DD896F3BAFA754FBAEB27850",
"siteName": "GROVE"
}
]
第二个api请求:
"base_url"/api/test?siteHK={siteHK}
我们需要通过从第一个 api 响应中获取“siteHK”的每个值并传入第二个 api 请求来验证这个 api。
让我们在测试场景中调用一个辅助功能文件:
Feature: Test Feature
Background: Test background
Given url baseURL
And path '/api/test/first'
When method get
Then status 200
Scenario: Verify test case
Given def result = call read('classpath:/features/file/testfeature.feature@BaseScenario') $[*]
辅助功能文件:
功能:助手功能:
@BaseScenario
Scenario: Helper scenario
Given url "base_url"/api/test
And params {"SiteHk": #(siteHK)}
When method get
Then status 200
match each response == ExpectedResponse
现在,如果我们运行测试功能文件,它将从第一个 api 的响应中获取每个“siteHk”并在第二个 api 中验证,但是我们在第一个 api 的响应中有重复的值,因为不需要验证,所以不需要验证一次又一次地使用相同的测试数据集,这实际上增加了我们的脚本执行时间。
请让我知道如何避免重复值被执行?
解决方案
推荐阅读
- html - HTML 中的错误 - 红色结尾段落标签
- c# - 尝试使用 MainMenu 时 Visual Studio 2017 崩溃
- java - 很多库导致原因:java.lang.OutOfMemoryError
- go - 如何在 Go 中对 gRPC 服务进行单元测试
- url - URL“http://baltimore.legistar.com”的“baltimore.legistar”部分叫什么?
- python - Socket.Accept 永远占用,并且非阻塞返回错误
- unity3d - Unity - 为什么我的游戏对象上的材质是黑色的?
- java - 遍历文件数组
- python-3.x - 将数百个 csv 文件逐行连接到单个数据帧中
- excel - 如何检查Access表中是否存在数据