使用groovy从文本文件中提取包含在一行中的值

时间:2015-11-12 18:57:28

标签: groovy

我想从文本文件中提取一行中的令牌值。

文本文件中的行是:

<response>{"timestamp": "2013-11-12T14:55:43Z", "data": {"profile": null, "ticket": "f644231-6d46-44c7-add6-de3a4422871e", </response>

groovy文件是:

    // read the file from path
    def file = new File('c:/tmp/response.txt')
    // for example read line by line
    def data= file.eachLine { line ->
        // check if the line contains your data 
        if(line.contains('"ticket":')){
            return line     
        }
    }
testRunner.testCase.testSuite.project.setPropertyValue('ticket',data)

所以这里没有在我的可变票证中存储任何值。 有任何帮助,请

1 个答案:

答案 0 :(得分:3)

替换

def data= file.eachLine { line ->
    // check if the line contains your data 
    if(line.contains('"ticket":')){
        return line     
    }
}

使用

def data= file.filterLine { line ->
    line.contains('"ticket":')
}