如何使用变量和正则表达式验证响应

时间:2018-04-16 14:30:29

标签: karate

我需要帮助来验证包含变量和正则表达式的响应。在下面的示例中,logFile具有模式C:\ Temp \ FileName_20180416_091535.log。我试图在扩展名之前使用正则表达式来处理数字,但我无法让它工作。我更喜欢直接在json中使用它而不必定义变量,但到目前为止,我无法使其工作。这可能吗?怎么做?

Background:  
* def currentDate = '20180416'  
* def filePath = 'C:\\Temp\\'  
* def fileName = 'TestFile1'  

Scenario:  
* def logFile = filePath + fileName + '_' + currentDate + '_' + '#regex[0-9]+' + '.log'  
* def date = currentDate + 'T00:00:00'  
* def resp =  
"""  
{  
    logFile: '#(logFile)',  
    date: '#(date)'  
}  
"""

1 个答案:

答案 0 :(得分:1)

不,你不能做那个连接。该规则是字段的字符串内容 start #regex

这有效:

* def json = { logFile: 'C:\\Temp\\FileName_20180416_091535.log' }
* match json == { logFile: '#regex [^_]+_[0-9]{8}_[0-9]{6}\\.log' }