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

时间:2019-02-05 12:48:42

标签: karate

我有如下的json文件。

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

         }
}

我的CVS以下 enter image description here

在json文件中具有上述变量头的CSV文件。我想在场景大纲表中使用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') |

1 个答案:

答案 0 :(得分:0)

read('bookreturn.csv')的值应为 JSON 对象的数组

例如在此示例中:https://github.com/intuit/karate#dynamic-scenario-outline

进行此更改:

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