我正在编写一个groovy脚本,我从响应中提取文本并将其写入系统上的输出文件。我遇到的问题是当我运行调用测试的groovy脚本时。脚本断言运行并将文本两次记录到文件中。
它似乎在它离开断言之前写入文件。
我尝试了以下内容:
...
...
if (context.alreadyWritten == null || !context.alreadyWritten) {
inputFile.append (testString+ "\n")
log.info testString
} else {
log.info ('Already written!')
}
在执行测试步骤之前,我已经在groovy中将标志(context.alreadyWritten)设置为false。
SOAPUI版本:5.3.0
我发现在断言脚本中附加到文件时,Smartbear之前存在一个问题。但是建议解决方法解决此问题:
if (context.alreadyWritten == null || !context.alreadyWritten) {
}
哪个无法解决我的问题
当我使用log.info记录结果时,我看到只记录了一个消息实例。
任何想法。
由于
答案 0 :(得分:0)
如果您使用的是Script Assertion
,请尝试以下操作:
//Define the file name, change as needed
def fileName = '/path/to/file.xml'
//check if you got the response
if (context.response) {
log.info 'Response available and not empty'
def file = new File(fileName)
if (!context?.alreadySaved) {
file.write(context.response)
context.alreadySaved = true
log.info 'response written to file'
} else {
log.info 'Response already written'
}
} else {
log.info 'there is no response to save'
}