測試業務中,系統a 呼叫系統b的實時支付介面m,m又呼叫 外圍系統的支付環境,有如下2個原因,對於介面 m,做了個mock
(1)第三方外圍系統的環境,不太穩定,不是一直正常的,有時候調不通
(2)對於支付,有支付成功、支付失敗 的場景,需要進行構造
所以,對於介面 m,做了個mock,相當於,在介面m到 第三方的支付系統中間,做了個擋板,直接自己設定返回資訊
mock中的response報文:$$
script指令碼如下:
def groovyutils = new com.eviware.soapui.support.groovyutils(context)
def holder = groovyutils.getxmlholder(mockrequest.requestcontent)
def acconame = holder.getnodevalue("//ns:acconame")
def accounttype = holder.getnodevalue("//ns:accounttype")
def amount = holder.getnodevalue("//ns:amount")
def bankaccount = holder.getnodevalue("//ns:bankaccount")
def bankarea = holder.getnodevalue("//ns:bankarea")
def bankareaname = holder.getnodevalue("//ns:bankareaname")
def bankcode = holder.getnodevalue("//ns:bankcode")
def bankname = holder.getnodevalue("//ns:bankname")
def certicode = holder.getnodevalue("//ns:certicode")
def certitype = holder.getnodevalue("//ns:certitype")
def city = holder.getnodevalue("//ns:city")
def feeid = holder.getnodevalue("//ns:feeid")
def feepaymode = holder.getnodevalue("//ns:feepaymode")
def openningbank = holder.getnodevalue("//ns:openningbank")
def openningbankname = holder.getnodevalue("//ns:openningbankname")
def organid = holder.getnodevalue("//ns:organid")
def policyid = holder.getnodevalue("//ns:policyid")
def province = holder.getnodevalue("//ns:province")
def reqsn = holder.getnodevalue("//ns:reqsn")
def sendcode = holder.getnodevalue("//ns:sendcode")
def stdbankcode = holder.getnodevalue("//ns:stdbankcode")
def transtype = holder.getnodevalue("//ns:transtype")
log.info(mockrequest.requestcontent)
context.setproperty("acconame",acconame)
context.setproperty("accounttype",accounttype)
context.setproperty("amount",amount)
context.setproperty("bankaccount",bankaccount)
context.setproperty("bankarea",bankarea)
context.setproperty("bankareaname",bankareaname)
context.setproperty("bankcode",bankcode)
context.setproperty("bankname",bankname)
context.setproperty("certicode",certicode)
context.setproperty("certitype",certitype)
context.setproperty("city",city)
context.setproperty("feeid",feeid)
context.setproperty("feepaymode",feepaymode)
context.setproperty("openningbank",openningbank)
context.setproperty("openningbankname",openningbankname)
context.setproperty("organid",organid)
context.setproperty("policyid",policyid)
context.setproperty("province",province)
context.setproperty("reqsn",reqsn)
context.setproperty("sendcode",sendcode)
context.setproperty("stdbankcode",stdbankcode)
context.setproperty("transtype",transtype)
def trans_result=0
def errmsg=""
def retcode="0000"
if(bankaccount.endswith("0"))else
context.setproperty("retcode",retcode)
context.setproperty("errmsg",errmsg)
context.setproperty("trans_result",trans_result)
Groovy指令碼檢查html壞鏈結
這些天在搞gradle翻譯,因為原譯者在翻譯的同時也把檔案進行了整理,並且把翻譯過的章節放到新的資料夾中,導致可能有些超連結未改正過來變成死鏈結。if args.size 1 def file new file args 0 if file.isfile checkhtml file else if...
groovy 速學 03 指令碼
目錄 摘要 執行指令碼,繫結域 從命令列中執行指定指令碼 groovy example.groovy在其它程式中執行指定指令碼 有一指令碼檔案 example.groovy def s new example s.run 也可以通過該指令碼物件直接執行指令碼內的函式 通過 new 建立的指令碼物件可...
關於SOAPUI使用的技能
今天在測試乙個服務的時候,因為svn有問題無法獲取最新的客戶端包進行測試,且部門的頭又不讓測試人員使用eclipse進行測試,所以就還是拿出以前用過的soapui測試工具進行測試,但是其包含2個以上引數的時候,其一時沒有辦法,今天向一位開發同事討教得知,將傳送的報文加乙個標籤即可,我的總結如下 操作...