Как пропустить следующие шаги, если условие выполнено в файле объектов с использованием каратэ - PullRequest
0 голосов
/ 04 сентября 2018

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

#Subscribe to an API

Given url applicationURL

And path 'subscriptions'

And header Authorization = subscribeToken

And request {'tier': 'Gold','apiIdentifier': '#(APIIDStr)','applicationId': '#(applicationId)'}

When method post

Then status 201

* def subscriptionId = response.subscriptionId

* print 'subscriptionID is ', subscriptionId 

* def status = response.status

* print 'subscribed with status ', status , ' and subscriptionID ' , subscriptionId

#* eval if (response.status == 'ON_HOLD') karate.call('BPSWorkflow.feature')

Given url applicationURL + '/applications/generate-keys?'

And param applicationId = applicationId

And header Authorization = subscribeToken

And request {"validityTime": "3600","keyType": "PRODUCTION","accessAllowDomains": ["ALL"]}

When method post

Then status 200

* def accessTokenforInvokation = 'Bearer '+ response.token.accessToken

* print 'accessTokenforInvokation is ', accessTokenforInvokation 

Я хочу пропустить каждый шаг после состояния "# * eval if (response.status == 'ON_HOLD') karate.call ('BPSWorkflow.feature')" "ON_HOLD".

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

1 Ответ

0 голосов
/ 04 сентября 2018

Существует экспериментальный API, который вы можете использовать karate.abort() - вот документация: https://github.com/intuit/karate/tree/master/karate-netty#karateabort

Это будет сделано более очевидным и лучше документировано в следующем выпуске.

* eval if (response.status == 'ON_HOLD') { karate.call('BPSWorkflow.feature'); karate.abort() }
...