在空手道 DSL 中,如何使用替换文本来替换其他数据类型,如 int、float、Big 等?
In Karate DSL, how can I use the replace text for other data types such as int, float, Big, etc.?
我在 github 上找到了下面的例子。
def text = 'hello world bye'
替换文字
|代币 |价值 |
|一个 | 'cruel' |
|两个 | 'good' |
匹配文本== 'hello cruel world good bye'
如果我要替换的值只能接受整数或其他数据类型怎么办?例如,
- 替换文字
|代币 |价值|
|小时 | 90 |
|价格 | 123.45 |
|数量 | 999999999999 |
我无法将令牌放入另一个文件中,因为 json 验证器不喜欢没有双引号的 <>。有什么建议么?
替换是针对非 JSON 的文本,请仔细阅读文档。首先数字没有问题,替换为:
* def text = 'hello <name> how many <hours>'
* replace text
| token | value |
| name | 'John' |
| hours | 200 |
* match text == 'hello John how many 200'
现在,如果您尝试 fiddle 和 JSON,只需使用 set
关键字。
* def json = { hello: '', hours: null }
* set json
| path | value |
| hello | 'John' |
| hours | 200 |
* match json == { hello: 'John', hours: 200 }
请注意,即使您省略了第一行,上面的内容仍然有效。另请参阅嵌入式表达式作为替代 JSON 中值的另一种方法,请参阅文档。
我在 github 上找到了下面的例子。
def text = 'hello world bye'
替换文字 |代币 |价值 | |一个 | 'cruel' | |两个 | 'good' |
匹配文本== 'hello cruel world good bye'
如果我要替换的值只能接受整数或其他数据类型怎么办?例如,
- 替换文字 |代币 |价值| |小时 | 90 | |价格 | 123.45 | |数量 | 999999999999 |
我无法将令牌放入另一个文件中,因为 json 验证器不喜欢没有双引号的 <>。有什么建议么?
替换是针对非 JSON 的文本,请仔细阅读文档。首先数字没有问题,替换为:
* def text = 'hello <name> how many <hours>'
* replace text
| token | value |
| name | 'John' |
| hours | 200 |
* match text == 'hello John how many 200'
现在,如果您尝试 fiddle 和 JSON,只需使用 set
关键字。
* def json = { hello: '', hours: null }
* set json
| path | value |
| hello | 'John' |
| hours | 200 |
* match json == { hello: 'John', hours: 200 }
请注意,即使您省略了第一行,上面的内容仍然有效。另请参阅嵌入式表达式作为替代 JSON 中值的另一种方法,请参阅文档。