每次在空手道 dsl 中运行测试时如何创建一个随机字符串
How to create a random string everytime a test runs in karate dsl
我发送的 json 请求是:
Given url applicationURL
And path 'applications'
And header Authorization = subscribeToken
And request:
{
"throttlingTier": "Unlimited",
"description": "sample app description",
"name": "TestbyKarate",
"callbackUrl": "https:/apistore-dev-dev-a878-14-ams10-nonp.qcpaws.qantas.com.au/callback"
}
When method post
Then status 201
* def applicationId = response.applicationId
* print 'applicationId is ', applicationId
我在请求中将名称发送为 TestbyKarate
,但我想在每次测试运行时发送一个唯一值。
有什么办法吗?
能否请您阅读一次文档。真的会让你受益。
https://github.com/intuit/karate#commonly-needed-utilities
因此在 Background
或共同特征中,您有:
* def now = function(){ return java.lang.System.currentTimeMillis() }
那么你可以这样做:
* def name = 'Test-' + now()
* request { name: '#(name)' }
检查下面的例子
功能:创建用户名
场景:具有唯一名称的用户名
def getDate =
"""
函数(){ return java.lang.System.nanoTime() }
"""
def time = getDate()
def userName = 'createUser' + 时间 + '_Test'
我发送的 json 请求是:
Given url applicationURL
And path 'applications'
And header Authorization = subscribeToken
And request:
{
"throttlingTier": "Unlimited",
"description": "sample app description",
"name": "TestbyKarate",
"callbackUrl": "https:/apistore-dev-dev-a878-14-ams10-nonp.qcpaws.qantas.com.au/callback"
}
When method post
Then status 201
* def applicationId = response.applicationId
* print 'applicationId is ', applicationId
我在请求中将名称发送为 TestbyKarate
,但我想在每次测试运行时发送一个唯一值。
有什么办法吗?
能否请您阅读一次文档。真的会让你受益。
https://github.com/intuit/karate#commonly-needed-utilities
因此在 Background
或共同特征中,您有:
* def now = function(){ return java.lang.System.currentTimeMillis() }
那么你可以这样做:
* def name = 'Test-' + now()
* request { name: '#(name)' }
检查下面的例子
功能:创建用户名
场景:具有唯一名称的用户名
def getDate = """ 函数(){ return java.lang.System.nanoTime() } """
def time = getDate()
def userName = 'createUser' + 时间 + '_Test'