karate - 如果其中包含点和下划线,则嵌入表达式不会被替换

标签 karate

当以下列方式被字符追加、前置或包围时,嵌入的表达式不会被替换

* def RADName = 'IntegrationFirstRAD'
* def tenantID = '1452119626'

* def out = 
        """
       {
    "nsName": "fld_<tenantID>_stage00.rad.<RADName>_.resources:<RADName>_resource"
       }
        """
* print out

执行场景返回:

"nsName":"fld_1452119626_stage00.rad.<RADName>_.resources:<RADName>_resource

在上面的场景中,'RADName' 没有被值替换

最佳答案

请使用replace关键词:

* def out = { nsName: 'fld_<tenantID>_stage00.rad.<RADName>_.resources:<RADName>_resource' }
* replace out.RADName = 'IntegrationFirstRAD'
* replace out.tenantID = '1452119626'
* match out == { "nsName": "fld_1452119626_stage00.rad.IntegrationFirstRAD_.resources:IntegrationFirstRAD_resource" }

你似乎对 embedded expressions 感到困惑和 Scenario Outlines .

我想有必要再说一遍,你真的真的真的应该完整地阅读一次文档。

关于karate - 如果其中包含点和下划线,则嵌入表达式不会被替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53044821/

相关文章:

Karate - 如何在 javascript 函数参数中使用变量?

Karate - 请求多线程访问 - 问题

karate - 我可以使用 Karate 中的状态快捷方式来检查响应类而不是仅检查一个代码吗

javascript - Karate 特征文件中的 String.split() 返回异常

karate - 如何在 Karate 中重新运行失败的功能?

Karate API 测试 - 在同一功能文件中的不同场景中重用变量

scala - [ Karate/Gatling ] :Cannot find project Scala library 2. 12.8 模块

loops - 如何循环遍历 Karate 功能中的数组值

karate - 配置 Karate 模拟以使用具有 JSON、XML 以外内容类型的 API

java - 关闭 Karate 中的 SSL 证书验证