简体   繁体   English

如果使用空手道在特征文件中满足条件,如何跳过下一步

[英]How to skip next steps if a condition is fulfilled in a feature file using karate

My feature file looks somthing like this : 我的功能文件看起来像这样:

#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 

I want to skip every step after "#* eval if (response.status == 'ON_HOLD') karate.call('BPSWorkflow.feature')" status is 'ON_HOLD'. 我想跳过“#* eval如果(response.status =='ON_HOLD')karate.call('BPSWorkflow.feature')“状态为'ON_HOLD'之后的每一步。

Can someone help? 有人可以帮忙吗?

There is an experimental API you can use karate.abort() - here is the documentation: https://github.com/intuit/karate/tree/master/karate-netty#karateabort 有一个实验性API,您可以使用karate.abort() -这是文档: https : //github.com/intuit/karate/tree/master/karate-netty#karateabort

This will be made more obvious and documented better in the next release. 在下一发行版中,这一点将变得更加明显并得到更好的记录。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM