每次在空手道 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'