Karate 我有一个json文件,我在其中设置变量,我有一个CSV文件从中读取值。我如何使用intuit空手道轻松做到这一点?

Karate 我有一个json文件,我在其中设置变量,我有一个CSV文件从中读取值。我如何使用intuit空手道轻松做到这一点?,karate,Karate,我有如下json文件 { book : {bookId : '<bookId>' , bookName : '<bookName>' }, staff : { sfattid : '<sfattid>', name : '<name>' }, libraryMember : { libMembId : '<libMembId>', name : '<lib

我有如下json文件

   {
book : {bookId : '<bookId>' , 
         bookName : '<bookName>'
         },
staff : {
     sfattid : '<sfattid>',
     name : '<name>'
     },
libraryMember : { 
libMembId : '<libMembId>',
name : '<libraryMember>'

         }
}
{
书籍:{bookId:'',
书名:“”
},
工作人员:{
斯法提德:'',
名称:“”
},
图书馆成员:{
libMembId:“”,
名称:“”
}
}
我有以下简历

CSV文件,其标题作为json文件中的上述变量。我想在场景大纲表中使用CSV文件,并为json文件设置值。您能否建议一些自动读取json的代码,为每行设置相应的值

我在想下面的代码应该可以工作,但它不工作

功能:使用动态表的场景大纲 从csv文件

Scenario Outline: staffname name: <name>
    * text jsonPayLoad = call read('readJson.feature')
    Given url 'http://localhost:8089/'
    And path 'returnBook'
    And request jsonPayLoad
    When method post
    Then status 200
    Then match karate.jsonPath(response,"$.status") ==  '<status>' 
    Examples:
    | read('bookreturn.csv') |
场景大纲:员工姓名:
*text jsonPayLoad=call read('readJson.feature')
给定url'http://localhost:8089/'
和路径“返回书”
并请求jsonPayLoad
当方法发布时
然后状态200
然后匹配karate.jsonPath(响应,“$.status”)=''
示例:
|读取('bookreturn.csv')|
读取('bookreturn.csv')的值应该是JSON对象的数组

例如,在本例中:

进行以下更改:

Background:
    * def kittens = [{name: 'Billie'}, {name: 'Wild'}]
read('bookreturn.csv')
的值应该是JSON对象的数组

例如,在本例中:

进行以下更改:

Background:
    * def kittens = [{name: 'Billie'}, {name: 'Wild'}]

投票结束,因为不清楚。请尝试改进您的问题:嗨,彼得,我已经更新了问题。请您再看一看。投票结束因为不清楚。请尝试改进您的问题:嗨,Peter,我已经更新了这个问题。请您再看一看。我在代码的下面添加了一行代码,它正在工作“*def jsonPayLoad=read('readJson.feature')”唯一的问题是数字。当我试图将bookid或staffid作为数字传递时,它没有填充变量的值。你能提出一些建议吗?@BikashAgrawala不要对数字使用单引号。请重试。下面的代码正在运行功能:使用csv文件中的动态表的场景大纲场景大纲:staffname名称:当json有效负载={book:{bookId:'',bookName:'',},人员:{sfattid:'',name:''},LibraryMembid:{libMembId:'',name:''}给定url''和路径'returnBook',并在方法post时请求有效负载,然后状态200然后匹配karate.jsonPath(响应,“$.status”)==''示例:| read('bookreturn.csv')|我在代码的下面添加了一行,它正在工作“*def jsonPayLoad=read('readJson.feature')”唯一的问题是数字。当我试图将bookid或staffid作为数字传递时,它没有填充变量的值。你能提出一些建议吗?@BikashAgrawala不要对数字使用单引号。请重试。下面的代码正在运行功能:使用csv文件中的动态表的场景大纲场景大纲:staffname名称:当json有效负载={book:{bookId:'',bookName:'',},人员:{sfattid:'',name:''},LibraryMembid:{libMembId:'',name:''}给定url“”和路径'returnBook',并在方法post时请求有效负载,然后状态200匹配karate.jsonPath(响应,“$.status”)==''示例:| read('bookreturn.csv'))|