如何导航和验证API响应的所有页面 [英] How to navigate and validate through all the pages of a api response
本文介绍了如何导航和验证API响应的所有页面的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个场景,如果负载有很多数据,API会分页返回负载响应。
Request:
Background:
* url url
* call read('classpath:examples/common.feature')
And header accesstoken = accessToken
And header accept = '*/*'
And header Accept-Encoding = 'gzip, deflate, br'
Scenario: Get Scores
* param start = '2020-07-01'
Given path '/scores'
When method Get
Then status 200
* def totalPages = response.totalPages
* def response = {"requestId": "6a4287f35112",
"timestampMs": 1595228005245,
"totalMs": 51,
"page": 1,
"totalPages": 100,
"data": [.......]}
在此之后,我将获得总页面数,并且需要通过传递带有附加*param page=#page_number和验证响应为200的相同请求来导航所有页面。PAGE_NUMBER必须从2迭代到100。
想过使用空手道循环或调用特征文件并构建动态数据并使用动态数据驱动特征,但不确定如何进行。
请告知
推荐答案
我认为最简单的选择是编写第二个功能文件并在循环中调用它。
* def totalPages = 10
* def pages = karate.repeat(totalPages, function(i){ return { page: i } })
* call read('second.feature') pages
这篇关于如何导航和验证API响应的所有页面的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文