Я посылаю несколько аргументов в файл .feature. Одним из аргументов является запрос json payload, сгенерированный с использованием таблицы каратэ. Как выполнить итерацию полезной нагрузки запроса, чтобы пост-запрос получал одну полезную нагрузку за раз.
Scenario: post booking
* table payload
| firstname | lastname | totalprice | depositpaid |
| 'foo' | 'IN' | 10 | true |
| 'bar' | 'out' | 20 | true |
#date will calculate using js function in background and baseURL is configured in karate.config.js file
* set payload[*].bookingdates = { checkin: '#(date())', checkout: '#(date())' }
* def result = call read('createrecord.feature') {PayLoad: #(payload) , URL: #(baseURL)}
######################################
createrecord.feature file will have
@ignore
Feature: To create data
Background:
* header Accept = 'application/json'
Scenario:
Given url __arg.URL
And path 'booking'
And request __arg.PayLoad
When method post
Then status 200
Здесь, в файле createrecord.feature, я могу выполнить итерацию по переданной полезной нагрузке, чтобы единая полезная нагрузка была передана в пост-запрос.