我有一个包含以下测试步骤的测试用例:
在LoadTestDataStep中,我从JDBC数据库加载一些数据,这些数据将在稍后的“SoapRequestStep”中使用。
GetPropertyStep允许我从LoadTestDataStep结果中检索数据,并将它们放入SoapRequestStep请求。
现在,在SoapRequestStep中,我想断言一些xpath的计算值与我在LoadTestDataStep中检索的一些数据匹配。
我希望我能让自己理解。
这就是JDBC的结果:
<Results>
<ResultSet fetchSize="10">
<Row rowNumber="1">
<DRV_DVR_ID>46259976</DRV_DVR_ID>
<CUST_DPT>00025888</CUST_DPT>
</Row>
</ResultSet>
</Results>
这是SOAP结果(简化):
<chargeCard chargeSequence="1353" businessAccountId="1520444" ownershipType="N" meanOfPaymentCode="EPPV" cashOrChargeFlag="CH" custdept="982-1602"/>
我想断言来自JDBC的CUST_DPT
= soap响应中的custdept
属性。
问题是,在SoapStep中,我不能对此soap步骤之外的内容进行断言。
发布于 2018-02-09 09:32:34
“问题是,在SoapStep中,我不能针对这个soap步骤之外的东西进行断言”是的,您可以从另一个步骤对某个东西进行断言。
在您的步骤的'(SOAP) SoapRequestStep‘脚本断言中,您可以按照.这样的方式执行JDBC步骤的响应。
def jdbsResponseAsXml = context.expand( '${(JDBC) LoadTestDataStep#ResponseAsXml#//Results[1]}' )
def slurper = new groovy.json.JsonSlurper()
def jdbcJson = slurper.parseText(jdbsResponseAsXml );
通过上述步骤,您将在'(SOAP) SoapRequestStep‘脚本断言中以JSON形式获得jdbc结果。
然后,您需要找到感兴趣的节点并进行比较。
此外,这是我自己的偏好,我倾向于不以这种方式编写断言的脚本。相反,在这两个感兴趣的步骤之后,我将创建一个新的Groovy脚本测试步骤,在这个步骤中,我将从感兴趣的步骤中提取数据并在其中断言。
https://stackoverflow.com/questions/48688702
复制相似问题