如何使用脚本断言 - SoapUI 在自定义 属性 中存储来自 JDBC 请求响应的特定值?
How to store particular value from the JDBC Request response in the Custom Property using Script Assertion - SoapUI?
在我的testSuite中,添加了四个请求,最后一步是JdbcRequest.
在 运行 这个 JdbcRequest 步骤之后,我试图从回复。为此,我在 JdbcRequest 步骤的 Script Assertion 中编写了以下脚本。
import groovy.util.*
import groovy.lang.*
import com.eviware.soapui.model.testsuite.*
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def responseHolder = groovyUtils.getXmlHolder( context.responseAsXml )
def pNo = responseHolder.getNodeValue("//*:Results/*:ResultSet/*:Row/*:PHONE_NUMBER")
log.info pNo
testRunner.testCase.setPropertyValue("JdbcPhoneNo",pNo) // Not storing in the property
我将使用 Groovy 脚本 执行三个请求,即第一步。
执行完成后(JdbcRequest),它不存储phone数字在Script Assertion 并显示为 NULL。我尝试了以下方法,但没有成功。
//def x = messageExchange.modelItem.testStep.testCase.setPropertyValue("JdbcPhoneNo",pNo)
//context.testCase.project.setPropertyValue("JdbcPhoneNo",pNo)
//context.testCase.testSuite.setPropertyValue("JdbcPhoneNo",pNo)
//testRunner.testCase.testSuite.project.setPropertyValue("JdbcPhoneNo",pNo)
请提建议。
谢谢
你快到了....
下面这行是一个 set 命令,是要使用的命令,但是您要将它分配给一个 var....
//def x = messageExchange.modelItem.testStep.testCase.setPropertyValue("JdbcPhoneNo",pNo)
改为
messageExchange.modelItem.testStep.testCase.setPropertyValue("JdbcPhoneNo",pNo)
我得到了上述问题的答案。
我是这样用的
def responseHolder = groovyUtils.getXmlHolder( messageExchange.responseContent )
而不是def responseHolder = groovyUtils.getXmlHolder( context.responseAsXml )
每次执行时,该值都会存储到 属性 中。
在我的testSuite中,添加了四个请求,最后一步是JdbcRequest.
在 运行 这个 JdbcRequest 步骤之后,我试图从回复。为此,我在 JdbcRequest 步骤的 Script Assertion 中编写了以下脚本。
import groovy.util.*
import groovy.lang.*
import com.eviware.soapui.model.testsuite.*
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def responseHolder = groovyUtils.getXmlHolder( context.responseAsXml )
def pNo = responseHolder.getNodeValue("//*:Results/*:ResultSet/*:Row/*:PHONE_NUMBER")
log.info pNo
testRunner.testCase.setPropertyValue("JdbcPhoneNo",pNo) // Not storing in the property
我将使用 Groovy 脚本 执行三个请求,即第一步。 执行完成后(JdbcRequest),它不存储phone数字在Script Assertion 并显示为 NULL。我尝试了以下方法,但没有成功。
//def x = messageExchange.modelItem.testStep.testCase.setPropertyValue("JdbcPhoneNo",pNo)
//context.testCase.project.setPropertyValue("JdbcPhoneNo",pNo)
//context.testCase.testSuite.setPropertyValue("JdbcPhoneNo",pNo)
//testRunner.testCase.testSuite.project.setPropertyValue("JdbcPhoneNo",pNo)
请提建议。
谢谢
你快到了....
下面这行是一个 set 命令,是要使用的命令,但是您要将它分配给一个 var....
//def x = messageExchange.modelItem.testStep.testCase.setPropertyValue("JdbcPhoneNo",pNo)
改为
messageExchange.modelItem.testStep.testCase.setPropertyValue("JdbcPhoneNo",pNo)
我得到了上述问题的答案。
我是这样用的
def responseHolder = groovyUtils.getXmlHolder( messageExchange.responseContent )
而不是def responseHolder = groovyUtils.getXmlHolder( context.responseAsXml )
每次执行时,该值都会存储到 属性 中。