SoapUI自动化--Groovy脚本常用操作

抱怨一句:soapUI-Groovy脚本国内的资料真心是少的可怜啊。。。

soapUI-Groovy脚本常见操作:(呕心一个星期整理和test,经确认完全可以使用)

1.连接数据库
//SQLServer
def sql=Sql.newInstance(url:"jdbc:sqlserver://192.168.1.2:1433;databaseName=databaseName",user:"sa",password:"password",driverClassName:"com.microsoft.sqlserver.jdbc.SQLServerDriver")
//Oracle
//def sql=Sql.newInstance("jdbc:inetpool:inetora:192.168.1.2?database=database&sid=sid","sa","password","com.inet.pool.PoolDriver")
//MySql
//def sql = Sql.newInstance("jdbc:mysql://localhost:3306/test","root","password","com.mysql.jdbc.Driver")
================================================================================================================================
2.执行数据库语句
def allPayCode=sql.rows("select * from test.paycode")
log.info(allPayCode)
log.info(allPayCode[0])
log.info(allPayCode[0].PayCode)

Sun Aug 19 20:48:09 CST 2012:INFO:[{PayCode=1001, PayCodeName=input}, {PayCode=3001, PayCodeName=tuikuang}, {PayCode=2001, PayCodeName=zhuanzhang}]
Sun Aug 19 20:48:09 CST 2012:INFO:{PayCode=1001, PayCodeName=input}
Sun Aug 19 20:48:09 CST 2012:INFO:1001
*********************************************************************************************************

def fPayCode=sql.firstRow("select * from test.paycode")
log.info(fPayCode)
Sun Aug 19 20:55:26 CST 2012:INFO:{PayCode=1001, PayCodeName=input}
*********************************************************************************************************
def insertTable=execute("")
execute的返回结果是boolean类型的
===============================================================================================================================
3.对testCase的一些操作
--Property
def properties=testRunner.testCase.testSteps["Properties"]
//com.eviware.soapui.impl.wsdl.teststeps.WsdlPropertiesTestStep
def oriCardNo=properties.getPropertyValue("Number")
//获取property中的值
properties.setPropertyValue("Number","999999")
//设置property中的对应名称的值

--SOAPRequest
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder( "qqCheck#Response" )
holder.namespaces["ns1"] = "http://WebXml.com.cn/"
def value=holder.getNodeValue( "//ns1:qqCheckOnlineResponse[1]/ns1:qqCheckOnlineResult[1]" )
*******************************************************************************************************************
def wsdlRequestStep=testRunner.testCase.testSteps["qqCheck"]
//com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequestStep
def wsdlRequest=wsdlRequestStep.getTestRequest()
//com.eviware.soapui.impl.wsdl.teststeps.WsdlTestRequest
def wsdlResponse=wsdlRequest.getResponseContentAsXml()
//java.lang.String
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder(wsdlResponse)
holder.namespaces["ns1"] = "http://WebXml.com.cn/"
def value=holder.getNodeValue( "//ns1:qqCheckOnlineResponse[1]/ns1:qqCheckOnlineResult[1]" )

--HTTPRequest
def httpRequestStep=testRunner.testCase.testSteps["HTTPRequest"]
//com.eviware.soapui.impl.wsdl.teststeps.HttpTestRequestStep
def httpRequest=httpRequestStep.getHttpRequest()
//com.eviware.soapui.impl.wsdl.teststeps.HttpTestRequest
def httpResponse=httpRequest.getResponseContentAsXml()
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder(wsdlResponse)
===============================================================================================================================

posted on 2012-08-19 23:42  Kiddo_马  阅读(2086)  评论(2编辑  收藏  举报

导航