добавить метку времени к имени файла в groovy - PullRequest
0 голосов
/ 09 января 2020

Я создаю отчет Excel обо всех результатах тестового набора, используя groovy. Поскольку файлы перезаписываются после каждого выполнения, я хочу, чтобы к моему имени файла добавлялась текущая временная метка, чтобы они не переопределялись.

Ниже приведен код, который я пробовал:

import com.eviware.soapui.support.XmlHolder
import jxl.*
import jxl.write.*
def count=0,i=1,j=1
def inputFileName,outputFileName
today = new Date().format("yyyy-MM-dd HH:mm:ss.SSSSS Z")
def outputFile = testRunner.testCase.testSuite.getPropertyValue("outputFileName")
outputFile.renameTo(new File(outputFile+"_"+today))
log.info outputFile

Я получаю сообщение об ошибке ниже:

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 голосов
/ 09 января 2020

Вы можете использовать приведенный ниже код, чтобы в имени файла не было недопустимых символов, таких как :.

Обновление: renameTo - это функция в File тип, и вы пытались вызвать его с типом 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...