Как я могу установить базовый API? Я вижу добавление двойных кавычек из первого ответа API - PullRequest
3 голосов
/ 16 апреля 2019
Given path '/api/metrics/product/ABC'
When method get
   * def id = get response
   * print id
   * def basePathProducts = '/another/api/' + id + '/param'   
  Given path basePathProducts
  When method GET
  Then status 200

12: 59: 28.447 [main] ИНФОРМАЦИЯ com.intuit.karate.StepDefs - [print] "5ca627bf3edd851238e59c9e" 16 апреля 2019 г. 12:59:28 org.glassfish.jersey.logging.LoggingInterceptor log ПОСМОТРЕТЬ: 2 * Отправка клиентского запроса по основному потоку 2> GET

http://localhost:8080/API/ANOTHER/API/%225ca627bf3edd851238e59c9e%22/PARAM

Ответы [ 3 ]

2 голосов
/ 16 апреля 2019

Я думаю, вы слишком усложняете вещи, и вы упустили, что синтаксис path разработан для того, что вам обычно нужно делать.

Не def basePathProducts и сделайте это, посмотрите, как idпеременная может быть легко вставлена ​​в путь:

Given path 'another', 'api', id, 'param'
2 голосов
/ 16 апреля 2019

Ваш пост действительно трудно понять.

Попробуйте использовать

Given url yourURLVariable + 'another/api/'+ id + '/param'

См. Это для получения дополнительной информации: https://stackoverflow.com/a/54477346/10791639

Редактировать: Возникла проблема с вашим параметром.

* def id = "5ca627bf3edd851238e59c9e"
* print id

Дает:

13:24:19.783 [print] 5ca627bf3edd851238e59c9e

Итак, ваша переменная id равна "5ca627bf3edd851238e59c9e" вместо 5ca627bf3edd851238e59c9e

1 голос
/ 16 апреля 2019
* def newresp = function(id){ return id.slice(1, -1); }
* def id = newresp(response)

Я добавил их, чтобы удалить первые и последние символы из ответа, который в моем случае является двойными кавычками. Спасибо, что ответили, ребята!

...