SoapUI 之接口数据传递2018-06-22
关注凡猫学院:加微信+17031115530,拉测试微信群交流
摘要: How to use Conditional Goto TestStep instead of Groovy Script
Background: 在SoapUI 的TestStep 中,Groovy Script 可以实现大多数种类的测试场景,但
是一个Project 中Script 太多会拖慢运行速度和效率,所以SoapUI 自带了其他种类的
TestStep,例如“Conditional Goto” :
1.Right click one TestStep->Right click->Add Step->Conditional Goto.
2.在弹出的界面做下图所示4 步操作:
微信+17031115530,拉测试微信群交流
添加一个Condition 变量,名字不限,见名知义即可;
点击视图选择器,选择作为条件的变量:点击后SoapUI 就会自动弹出上一个Request
Method Test Step 的Response Json View,双击选择需要作为跳转标志的字段,那对应的XPath
Expression 就会填充到上方的空白处;
为选择的变量添加跳转条件:上图的意思是“选择的status 字段是IN_CALCULATION 的时
候跳转到指定的Target step”;
在下拉列表中选择跳转条件满足时需要跳转到的Target Step : 上图中需要循环执行
“GetTableData_PAAPI”,所以条件是这个Step 的某个字段,条件满足时继续执行该Step。
注意:
Conditional Goto 步骤在实际运用中的意思是:当上一个REST Test Step 的满足某一个条件
时,就跳转到该Test Case 中的某个Target Step。
用Conditional Goto 步骤实现轮询时,因为该Step 有自己设定的间隔时间(应该是几十毫秒),
可能跟界面上轮询时间不同,所以为了模拟真实界面错做,就需要在改步骤前面加上Sleep
Test Step(默认休眠时间是1000ms)。
若需要跳转的条件跟上一个REST Test Step 返回结果无关,此时该TestStep 无效。这种情况
下可以添加一个Groovy Script,在Script 中判断条件是否为true,若为true,则goto 某TestStep:
if(context.expand(‘${DataSource#bmkId}‘) == ""){
testRunner.gotoStepByName("GetOwnershipData_PAAPI VS DataAPI")
}
所以在用工具的时候,要根据自己的业务需求灵活选择Test Step。
关注凡猫学院:加微信+17031115530,拉测试微信群交流
关注凡猫学院:加微信+17031115530,拉测试微信群交流