我尝试运行一些测试,如果测试成功,则需要在每个场景结束时调用“delete.feature
”文件,但如果测试失败,则不应调用“delete.feature
”文件。
我测试结果如下所示:
Given url ApiAdminURL
And path AdminPath
And header apigateway-apikey = apiGatewayKey
And header apigateway-basepath = 'lambdaTest'
* json myReq = read('users.json')
* set myReq.apiConf.subscriptionTiers = subscriptionTiers
* print 'my subscriptions : ', myReq.apiConf
And request myReq
When method post
Then status responseCode
* call read('Delete.feature')
Examples:
| subscriptionTiers |responseCode|
| [Unlimited,Gold,Bronze, Silver] |200 |
| [Unlimited,Gold,Bronze] |200 |
| [Unlimited,Gold,BronzeAuto-Approved] |400 |
如果响应代码为200
,则应运行命令“*call read('delete.feature')
”,如果responsecode
为400
,则应跳过此命令。
有人能帮我一下吗?
请参阅文档:https://github.com/intuit/karate#condition-logic
Then assert responseStatus == 200 || responseStatus == 400
And eval if (responseStatus == 400) karate.call('delete.feature')
另外一个注释是然后是status responseCode
-我不认为这会起作用。
编辑-另请参阅:检查2个与空手道不同的状态
不幸的是,ei从我的后端获得的响应不是正确的xml格式,并且它以一种糟糕的格式给出了如下所示的响应: 因此,现在空手道无法读取响应并获取“WorkflowExternalRef”的值,这是我本次测试的目标。 空手道能读懂吗?
我需要在空手道测试的功能中使用动态值。 我遇到了一些类似这样的问题和答案:如何从excel电子表格中读取输入数据并在空手道框架中传递JSON负载? 但不管我怎么努力,我都做不到。我相信我应该分享我试图使用的代码部分,这样讨论就可以开始了。 我有一个创建新用户的SOAP请求,如下所示: 正如你所看到的,我有一些将从外部给出的变量,它们是:帐户号、子标识、子类型和移动。 现在,我有了一个特性文件,我在
我用空手道0.9。5.我正在测试一个返回125MB json响应的endpoint(我知道,不应该在json上这样做——但我现在还停留在这里)。我怎样才能禁止空手道解析响应json,而只是将其视为纯文本?响应需要几毫秒才能完成,但空手道只是挂起尝试解析响应。我不需要验证响应,只需检查200 OK。 谢谢
例如,我试图使用匹配包含来验证模式响应和数据类型,有时它返回null,有时返回字符串。我正在尝试下面的操作,但我得到的断言失败了,因为它没有计算为true。 例如,为“firstName”返回的数据为“firstName”:null, 在比赛之前,我向每个人发送以下信息: 我不是在定义模式,我还没有弄清楚如何做到这一点,所以我不确定这是否是我的问题。我知道我应该这样做,但我还在学习。
假设我有一个需求完全相同的测试场景,但有一个路径变量更改,如下所示: 方案:某些方案
我一直在验证下面的回答。 当我使用空手道发出获取请求时,我会得到以下响应,我想验证它。 我试过: 它说它不是字符串。你能帮我确认一下这个请求吗?