Как использовать условие if для каратэ для динамических кодов отклика - PullRequest
0 голосов
/ 31 августа 2018

Я пытаюсь запустить несколько тестов, для которых нужен файл «Delete.feature», который вызывается в конце каждого сценария, если он успешен, но если это тесты с ошибками, он не должен вызывать файл «Delete.feature».

Мой тест выглядит примерно так:

Данный URL ApiAdminURL

И путь AdminPath

И заголовок apigateway-apikey = apiGatewayKey

И заголовок apigateway-basepath = 'lambdaTest'

  • json myReq = read ('users.json')

  • set myReq.apiConf.subscriptionTiers = subscriptionTiers

  • распечатать 'мои подписки:', myReq.apiConf

и запрос myReq

Когда метод сообщение

Тогда отклик статусаКод

  • вызов чтения ('Delete.feature')

Примеры:

| subscriptionTiers | responseCode |

| [Неограниченно, золото, бронза, серебро] | 200 |
| [Неограниченно, золото, бронза] | 200 |
| [Неограниченно, золото, одобрено Бронзой] | 400 |

Если код ответа равен 200, то он должен выполнить команду "* call read ('Delete.feature')", а если значение responseCode равно 400, то эту команду следует пропустить.

Может кто-нибудь помочь мне с этим?

1 Ответ

0 голосов
/ 31 августа 2018

Пожалуйста, обратитесь к документации: https://github.com/intuit/karate#conditional-logic

Then assert responseStatus == 200 || responseStatus == 400
And eval if (responseStatus == 400) karate.call('delete.feature')

Один дополнительный комментарий, Then status responseCode - я не думаю, что это сработает.

...