2017-01-15 6 views
1

作成したファイルディレクトリにファイルを配置しようとして問題が発生しています。ファイルを作成したフォルダ 'GET_Tests {Test}'に入れたいのですが、このフォルダに移動する代わりに、フォルダ内の同じディレクトリにファイルを配置します。フォルダディレクトリにファイルが保存されていません

私はいくつかのことを試してみましたが、うまくいかなかったのですが、フォルダ内にファイルを保存するためには何を変更する必要がありますか?

以下はコードです。 1つのスクリプトはReadDataで、もう1つはPrintToLogFileです。 ReadDataは、PrintTologFileがファイルを作成している間にフォルダを作成します。

READDATA:

// define properties required for the script to run. 
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) 
def dataFolder = groovyUtils.projectPath 
def date = new Date() 
def folderTime = date.format("yyyy-MM-dd HH-mm-ss") 
//Define an empty array list to load data from datasheet 
def DataTable = []; 

//Create a folder directory for the responses 
RootResultFolder = dataFolder + "/Responses" + "\\GET_Tests{Test} - " + folderTime 
CreateResultFolder = new File(RootResultFolder) 
CreateResultFolder.mkdir() 

PrintToLogFile

import groovy.json.JsonOutput 
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context) 
def casename= testRunner.testCase.name 
def response = testRunner.testCase.getTestStepByName("GET_Tests{Test}").getProperty("Response").getValue(); 
def hotelId = testRunner.testCase.getPropertyValue('hotelid') 
def date = new Date().format("yyyy-MM-dd") 
def time = new Date().format("HH.mm.ss") 
def fileName = hotelId + " - D" +date+ " T" +time+ ".txt" 
def dataFolder = context.getProperty("RootResultFolder") 
def rootFolder = dataFolder + fileName 

def logFile = new File(rootFolder) 
+0

は、ディレクトリまたは 'hotelId'置き換えられていないか、または両方の外に保存された問題のファイルですか? – Rao

+0

問題は、ファイルがディレクトリの外に保存されていることです。 – BruceyBandit

+0

テストケースの構造は何ですか?残りのテストステップのレスポンスを保存しようとしていますか?またはデータ駆動型テストですか?あるいは、テストケースに複数のステップがある場合は? – Rao

答えて

0

を追加Groovy Scriptテスト工程は、実際にはファイルに応答を保存するために必要とされていません。代わりにScript Assertionを同じRESTテストステップリクエストに追加することができます(下記のインラインコメントに従ってください)。

スクリプトアサーション

import com.eviware.soapui.support.GroovyUtils 

//Save the contents to a file 
def saveToFile(file, content) { 
    if (!file.parentFile.exists()) { 
     file.parentFile.mkdirs() 
     log.info "Directory did not exist, created" 
    } 
    file.write(content) 
    assert file.exists(), "${file.name} not created" 
} 

//Get the project path 
def dataFolder = new GroovyUtils(context).projectPath 

//Create today's date for storing response 
def today = new Date().format("yyyy-MM-dd") 

def filePrefix = "${dataFolder}/Responses/GET_Ratings_hotelId_${today}" as String 

def fileNamePart = new Date().format("yyyy-MM-dd'T'HH.mm.ss") 

//Check if there is response 
assert context.request, "Request is empty or null" 

//create file object with file name 
def file = new File("${filePrefix}/hotelId_${fileNamePart}.json") 

//Call above method to save the content into file 
saveToFile(file, context.response) 
+0

タイプミスがあります。他の質問に対するあなたのコメントの後に修正されました。 – Rao

関連する問題