我有一个这样写的 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,然后使用删除功能
我认为您错过了
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