3

Soapui 免费版可以在两个请求的输出之间断言吗?我想检查一个输出的值是否等于另一个输出的值。

4

2 回答 2

4

是的你可以!:-)
这是一个在我的 soapUI v2.5.2 中工作的 Groovy 脚本(它是专业版,但也适用于免费版本):

def r1 = context.testCase.testSteps["Request #1"].properties["Response"]
def response1 = r1["value"]
def r2 = context.testCase.testSteps["Request #2"].properties["Response"]
def response2 = r2["value"]

log.info "Request #1 response: $response1"
log.info "Request #2 response: $response2"

assert response1 == response2

我希望这也适用于你。

干杯!
松兹拉

于 2009-06-16T10:32:40.757 回答
2

另一个有效的:

def myContext1 = new com.eviware.soapui.support.GroovyUtils( context )
holderOpConfirmation = myContext1.getXmlHolder ("opConfirmation3 - Request 2#Response")

holderOpConfirmation.namespaces["bilhete"] = "http://bilhete.ic.cp.fujitsu"
def ticketNo1 = holderOpConfirmation[ "//bilhete:ticketNo//bilhete:number" ]

log.info "ticketNo1: $ticketNo1"

//Segundo Bilhete
def myContext2 = new com.eviware.soapui.support.GroovyUtils( context )
holderGetNullifiedTickets = myContext2.getXmlHolder ("getNullifiedTickets - Request 1#Response")

holderGetNullifiedTickets.namespaces["bilhete"] = "http://bilhete.ic.cp.fujitsu"
def ticketNo2 = holderGetNullifiedTickets[ "//bilhete:getNullifiedTicketsReturn" ]

log.info "Numero bilhete 2: $ticketNo2"

if (!ticketNo2.contains(ticketNo1)) {
 com.eviware.soapui.support.UISupport.showInfoMessage(
    "O bilhete " + ticketNo1 + " nao se encontra entre os bilhetes anulados manualmente.\n" +
    "Por favor verifique a data do relatorio nas propriedades do teste");
}

// Garantir que a data de "getNullifiedTickets - Request 1" é um dia anterior à data da volta do askPlaces original
assert ticketNo2.contains(ticketNo1)
于 2009-10-29T11:03:43.520 回答