Background: 在SoapUI的TestStep中,Groovy Script能够实现大多数种类的测试场景,可是一个Project中Script太多会拖慢运行速度和效率,因此SoapUI自带了其余种类的TestStep,例如“Conditional Goto” : 工具

1.Right click one TestStep->Right click->Add Step->Conditional Goto.测试
2.在弹出的界面作下图所示4步操做:spa

- 添加一个Condition变量,名字不限,见名知义便可;
- 点击视图选择器,选择做为条件的变量:点击后SoapUI就会自动弹出上一个Request Method Test Step的Response Json View,双击选择须要做为跳转标志的字段,那对应的XPath Expression就会填充到上方的空白处;
- 为选择的变量添加跳转条件:上图的意思是“选择的status字段是IN_CALCULATION的时候跳转到指定的Target step”;
- 在下拉列表中选择跳转条件知足时须要跳转到的Target Step:上图中须要循环执行“GetTableData_PAAPI”,因此条件是这个Step的某个字段,条件知足时继续执行该Step。
注意:ip
- 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")
}get
因此在用工具的时候,要根据本身的业务需求灵活选择Test Step。it