加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

使用soapUI中的Groovy teststep将请求/响应文件存储在本地目录中

发布时间:2020-12-14 16:31:09 所属栏目:大数据 来源:网络整理
导读:通过soapUI中的groovy测试步骤,我希望所有请求和响应文件都存储在具有系统日期的本地目录中. soapUI中的groovy测试步骤: def name = context.expand( '${Input#TG}' )def locatie = context.expand( '${#TestCase#locatie}' )def createFolder() { date = n
通过soapUI中的groovy测试步骤,我希望所有请求和响应文件都存储在具有系统日期的本地目录中.

soapUI中的groovy测试步骤:

def name = context.expand( '${Input#TG}' )

def locatie = context.expand( '${#TestCase#locatie}' )

def createFolder() {
  date = new Date()
  dateFormat = new java.text.SimpleDateFormat('ddMMyyyy')
  shortDate = dateFormat.format(date)
  outputFolder = locatie+shortDate
  createFolder = new File(outputFolder)
  createFolder.mkdir()  
}

def getResponseFilename(name) {
  respFilename = createFolder()+"_"+name+"_response.xml"
}

def getRequestFilename(locatie,name) {
  reqFilename = createFolder()+"_"+ name+"_request.xml"
}

def file = new PrintWriter (getResponseFilename(name))

def response = testRunner.testCase.testSteps
["CheckAdres"].testRequest.response.contentAsString

file.println(response)
file.flush()
file.close()

def file2 = new PrintWriter (getRequestFilename(name))
def request = context.expand('${CheckAdres#Request}')

file2.println(request)
file2.flush()
file2.close()

我收到以下错误:

Tue Jun 14 12:47:24 CEST 2011:**ERROR:groovy.lang.MissingPropertyException: No such property: locatie for class: Script78**
groovy.lang.MissingPropertyException: No such property: locatie for class: Script78
  at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:49)
  at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:49)
  at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:241)
  at Script78.createFolder(Script78.groovy:8)
  at Script78$createFolder.callCurrent(Unknown Source)
  at Script78.getResponseFilename(Script78.groovy:14)
  at Script78$getResponseFilename.callCurrent(Unknown Source)
  at Script78.run(Script78.groovy:21)
  at com.eviware.soapui.support.scripting.groovy.SoapUIGroovyScriptEngine.run(SoapUIGroovyScriptEngine.java:93)
  at com.eviware.soapui.support.scripting.groovy.SoapUIProGroovyScriptEngineFactory$SoapUIProGroovyScriptEngine.run(SourceFile:51)
  at com.eviware.soapui.impl.wsdl.teststeps.WsdlGroovyScriptTestStep.run(WsdlGroovyScriptTestStep.java:148)
  at com.eviware.soapui.impl.wsdl.panels.teststeps.GroovyScriptStepDesktopPanel$RunAction$1.run(GroovyScriptStepDesktopPanel.java:274)
  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
  at java.lang.Thread.run(Unknown Source)

解决方法

有几种方法可以做到这一点.一个是使用以下脚本创建Groovy测试步骤:

def myOutFile = "C:/Temp/MyOutDir/response.xml"
def response = context.expand( '${MyTestRequest#Response}' )
def f = new File(myOutFile)
f.write(response,"UTF-8")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读