如何循环 Id 数组然后发出多个 DELETE 操作?

问题描述 投票:0回答:1

我有一个这样写的 DELETE.feature 文件

Scenario: DELETE api/v1/session/delete_session
Given path 'api/v1/session/delete_session'
And param session_id = _session_id
When method delete
Then status 200

现在我想调用这个功能文件并传递_session_id数组,这样我们就可以进行多次删除。

在父功能文件中,我写了这样的后台进程:

 Background:
 * def sessionIdList = ['abc','def']
 * def delete = call read('j_session_delete_session.feature' {_session_id: '#(sessionIdList)'}

问题是 Karate 尝试发出具有多个参数的单个 DELETE 选项 例如删除.../api/v1/session/delete_session?session_id='abc'&session_id='def'

问题:如何编写后台任务来启用多个DELETE调用?

注: 我能找到的最接近的文章在这里,但它并不能完全回答我的问题:( 空手道 For 循环根据模式获取 id,然后使用删除功能

karate
1个回答
0
投票

我认为您错过了

call
的参数必须是 JSON 数组的部分。试试这个:

* def sessionIdList = [{id:'abc'},{id:'def'}]

然后:

And param session_id = id

有很多方法可以将字符串数组转换为 JSON 对象数组,例如

* def data = sessionIdList.map(x => ({ id: x }))

阅读本文以获取更多提示:https://stackoverflow.com/a/78673358/143475

© www.soinside.com 2019 - 2024. All rights reserved.