将时间戳附加到groovy中的文件名

时间:2020-01-09 10:43:58

标签: groovy timestamp

我正在使用groovy创建所有测试用例结果的excel报告。由于文件在每次执行后都会被覆盖,因此我希望将文件名附加当前时间戳,以免被覆盖。

下面是我尝试过的代码:

addListenerForSingleValueEvent()

我遇到以下错误:

groovy.lang.MissingMethodException:方法的无签名:java.lang.String.renameTo()适用于参数类型:(java.io.File)值:[C:\ TestData \ output.xls_2020-01- 09 16:13:02.00805 +0530]在第8行出现错误

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码,以便文件名中没有任何非法字符,例如:

更新renameToFile类型的函数,您试图用string类型进行调用。因此,您遇到了错误。

import com.eviware.soapui.support.XmlHolder
import jxl.*
import jxl.write.*
import org.apache.commons.io.FilenameUtils

def count=0, i=1, j=1
def inputFileName, outputFileName

def outputFile = new File(testRunner.testCase.testSuite.getPropertyValue("outputFileName"))

// Perform other operations on the file.
//
// End

today = new Date().format("yyyy-MM-dd HH.mm.ss.SSSSS Z")
def fileWithoutExt = FilenameUtils.removeExtension(testRunner.testCase.testSuite.getPropertyValue("outputFileName"))
outputFile.renameTo(new File(fileWithoutExt + "_" + today + ".xls"))
log.info outputFile