首页 > 解决方案 > 将soap ui中的脚本日志保存到一个文件中而不覆盖输出文件

问题描述

我在soapui(5.4.0版)中有一个带有特殊设置脚本(如下)的测试用例。这段代码工作正常,每次我运行我的测试用例时,我都会从脚本日志中获取所有 log.info 到我的 script.txt 中。

def logArea = com.eviware.soapui.SoapUI.logMonitor.getLogArea("script log")
def LogFile = new File ("C:/Users/myuser/Documents/script.txt")
LogFile.write("Generating Script Logs...\r\n")
if (logArea != null)
{
    def model = logArea.model
    if (model.size > 0)
    {
        for (c in 0..(model.size-1))
        {
            LogFile.append(model.getElementAt(c).toString() + "\r\n")
        }
    }
}

但主要问题是,我想在每次运行新测试用例时将每次运行存储到一个中,它会覆盖我的输出文件。但是我想保留所有内容,每次运行都在一个文件中,我该怎么做?

标签: soapgroovysoapui

解决方案


我设法修复了我的脚本,所以我将“write”更改为“append”:

logArea = com.eviware.soapui.SoapUI.logMonitor.getLogArea("script log")
def targetfolder = 'C:\\Users\\myuser\\Documents\\'
def logFile = new File (targetfolder + "setup_script.txt")

logFile.append("------------------------------------------------------------" + "\r\n")
if (logArea != null)
{
    def model = logArea.model
    if (model.size > 0)
    {
        for (c in 0..(model.size-1))
        {
            logFile.append(model.getElementAt(c).toString() + "\r\n")
        }
    }
}

这比我想象的要容易。


推荐阅读