我在soapUI中使用groovy脚本。我想保存我对文件的回复。我正在使用以下脚本。文件已创建,但内容为空。
//get dir target from property
def dirTarget = context.expand( '${#Project#SnapShotDirTarget}' )
def fileDir = new File(dirTarget);
if(!fileDir .exists()) {
fileDir .mkdirs()
}
def currentDate = new Date().format("yyyy-MM-dd hh:mm")
def fileName = "Snapshot - "+currentDate+".txt"
def resultsFile= new File(fileDir , context.expand( fileName) )
if(!resultsFile.exists()) {
resultsFile.createNewFile();
}
resultsFile.append("Post URL:"+messageExchange.getEndpoint()+'\n' );
resultsFile.append("Request:"+'\n' );
resultsFile.append(messageExchange.getRequestContent()+'\n' );
resultsFile.append("Response:"+'\n' );
resultsFile.append(messageExchange.getResponseContent()+'\n' );
答案 0 :(得分:1)
如果您运行Windows,文件名中小时和分钟之间的冒号将导致一些问题,因为Windows文件名中不允许冒号。
当我尝试运行脚本时,它创建了一个名为“Snapshot - 2014-08-14 09”的空文件(缺少冒号后的所有内容)
将冒号改为其他东西就可以了。
def currentDate = new Date().format("yyyy-MM-dd hh_mm")
顺便说一句,不需要调用createNewFile。如果文件不存在,则追加调用将创建该文件。