我们可以在空手道场景大纲中的值中传递动态值吗

  • 本文关键字:动态 空手道 我们 api karate
  • 更新时间 :
  • 英文 :

Scenario Outline: User payload validation
Given url usermessagesAPI
* request
"""
{
"first_name" : "<first_name>",
"last_name" : "<last_name>",
"transaction_id" : "<transaction_id>,
"user_message" : "<user_message>"
}
"""
When method POST
Then assert responseStatus == 202
Examples:
|first_name|last_name|transaction_id|user_message|
|xyz|xyz|87690|<?xml version="1.0" encoding="UTF-8"?><MsgId>201060024</MsgId><CreDtTm>2020-04-   14T13:45:02</CreDtTm>|
|abc|abc|76565|<?xml version="1.0" encoding="UTF-8"?><MsgId>7858757</MsgId><CreDtTm>2022-04-14T13:45:02</CreDtTm>| */

在上面的示例中,如何传递XML消息中的MsgId和CreDtTm的随机值

Examples:中的数据是固定的,在运行时无法更改。但是,您可以在Scenario Outline块中进行修改。所以我认为你可以实现你想要的。这里有一个例子:

Feature:
Scenario Outline:
* def rand = java.lang.System.currentTimeMillis()
* xml payload = message
* karate.set('payload', '/root/CreDtTm', rand)
* print payload
Examples:
| message |
| <root><MsgId>201060024</MsgId><CreDtTm></CreDtTm></root> |

还有其他方法可以修改XML,例如使用replace:https://github.com/karatelabs/karate#replace

最新更新