как использовать встроенные выражения для многочастного ввода файла в каратэ - PullRequest
0 голосов
/ 22 ноября 2018

Мне нужно заменить динамическое значение tenantID для входного файла данных JSON.Мне нужен способ заменить значение для входного файла JSON из нескольких частей.Ниже приведен код детали:

    * def tenantID = '2345'; 
* configure charset = null
Given multipart file properties = { read: 'classpath:ic/feature/REST/TestData/linkedInOauth2RESTInput.json', filename: 'blob', contentType: 'application/json' }
Given multipart file appIcon = { read: 'classpath:ic/feature/REST/TestDataGlobal_Weather.png', filename: 'Global_Weather.png', contentType: 'image/png' }


When method post

В приведенном выше коде мне нужно заменить 'tenantID' в файле 'connectedInOauth2RESTInput.json'.Поскольку это многокомпонентный ввод, я не понимаю, как заменить его содержимое.

Ожидание ответа.Заранее спасибо

1 Ответ

0 голосов
/ 22 ноября 2018

Напишите утилиту Java для изменения файла linkedInOauth2RESTInput.json перед загрузкой.Вы можете использовать префикс file: вместо classpath:, поэтому я рекомендую сохранить временный файл в папку target, а затем сделать это:

Given multipart file properties = { read: 'file:target/linkedInOauth2RESTInput.json', filename: 'blob', contentType: 'application/json' }

Но я согласен, что этосложный, поэтому я делаю изменения в каратэ, чтобы вместо read можно было передать value.

РЕДАКТИРОВАТЬ: это может также работать в зависимости от сервера в этом случае:

* def tenantID = '2345';
* def json = read('classpath:ic/feature/REST/TestData/linkedInOauth2RESTInput.json')
* multipart field properties = json
...