这是我的考试:
Background:
* url serverUrl
* configure headers = read('classpath:headers.js')
* def getId = function(){ return java.util.UUID.randomUUID() + '' }
Scenario: Create lead
* def req = read('classpath:data/leads.json')
* def fun = function(x, i){ x.id = getId(); return x }
* def updated = karate.map(req.updated, fun)
* def deleted = karate.map(req.deleted, fun)
Given path '/leads'
And request req
When method post
Then status 200
And match $..updated.length() == [3]
是否可以以某种方式替换这些行
* def fun = function(x, i){ x.id = getId(); return x }
* def updated = karate.map(req.updated, fun)
* def deleted = karate.map(req.deleted, fun)
喜欢
* def fun = function(x, i){ $x..id = getId(); return x }
* def req = karate.map(req, fun)
我们有没有可以通过JS函数中的json轻松导航的功能?
答案 0 :(得分:0)
不。 JsonPath在JavaScript中不起作用。您可能需要使用karate.map()
进行第二次转换。对于只读JsonPath,可以使用karate.jsonPath()
-但抱歉,无法进行这样的更新。
请参考其他答案以获取更多信息:https://stackoverflow.com/a/54925754/143475