如果我想做以下事情:
Feature: Register the account and obtain the jwt
Background:
* url baseUrl
* def email = 'qatest_api_' + String(new Date().getTime()) + '@redacted.com'
Scenario: Register
Given path '/identity/v1/register'
* request {email: '#(email)', password: '#(password)'}
When method post
Then status 200
Scenario: Obtain jwt
Given url 'https://redacted/oauth/token'
* request
"""
{
realm: "Username-Password-Authentication",
grant_type: "http://auth0.com/oauth/grant-type/password-realm",
username: '#(email)',
password: '#(password)',
audience: "https://redacted/userinfo",
scope: "openid",
client_id: "redacted",
client_secret: "redacted"
}
"""
When method post
Then status 200
它将在两种情况下评估email
变量,因此在其中一种情况下,我得到类似qatest_api的东西_1542209546879@redacted.com
第1个场景和qatest\u api_1542209545312@redacted.com
在第二个场景中。
如果可能的话,我会避免硬编码这个值,我读过关于callonce
的文章,但没有使用它,有一个独立的文件来生成时间戳听起来很有趣。
我正在使用空手道网络,你对如何实现这一点有建议吗?:)
谢谢
callonce
的设计使得它可以是右侧的javascript。
在背景中尝试以下操作:
* def fun = function(){ return 'qatest_api_' + new Date().getTime() + '@redacted.com' }
* def email = callonce fun
拥有第二个文件的好处是它可以在多个场景中重复使用,没有什么问题:)
我希望对从文件加载的JSON中的字段执行自定义断言。 我知道我们有模糊匹配,但我想执行一些更自定义的操作,例如,有一个函数将日期解析为LocalDateTime: } NB这是专门用于从文件加载的JSON,而不是在特性文件本身中指定的JSON上(例如,这里的isValidTime()是:https://github.com/intuit/karate/blob/master/karate-juni
我试图在我的POST请求中传递一个应用程序特定的头,但是我得到了错误-步骤头XXX-XXX没有一个匹配的胶水代码。 如何在请求中指定特定于我的应用程序的头。以下是我正在提交的示例请求:
我所需要的只是一个工作的例子(显然没有任何地方有这样的例子;我找了找,没有找到任何东西,所以我在这里询问)。 例如,我将如何在Java中实现这个helper步骤操作?在这种情况下,如何从Java上下文中访问WebDriver实例?那么,如何调用嵌入? 上面的方法可能行不通。我只是希望有人能给我指明正确的方向。我希望空手道演示中有这样的例子。
我正在尝试使用空手道进行e2e测试,并已从最低设置开始。我想在用于测试,但karate报告该文件不是js函数,因此测试无法获取配置: 这是我的: 这是我的测试: 这是测试运行程序:
我有一个Json响应,如下所示。这里的区别是我的Json主体有一个数字作为父节点。 路径$[“22388043”][0][“移动号码”]没有结果 请就此提出意见。
功能文件-1 场景大纲:Lambda API注册 给定url ApiAdminURL 功能文件-2 给定url internalGateway 和路径 这不是将#(LocalVersion)替换为v1