【Metersphere】变量:判断返回参数的某个字段值是否包含

2024-07-02  本文已影响0人  Queenie的学习笔记

1、需求:

找到下发或排产状态的工单的模具(但模具本身必须是正常状态),获取其id。

2、思路:

1)调用模具台账接口获取所有正常状态的模具,提取参数作为变量供下一个接口判断使用;
2)调用工单进度查看接口,获取非生产非结单非完成状态的工单,获取其模具id;
同时循环判断本接口的返回参数中工单模具编号是否可以在上一个接口提取的字符串中,如果有则停止循环,将捕捉到的模具的id存入环境变量,供下一个接口使用。

3、场景用例

图片.png

4、beanshell 后置脚本


//导包
import org.json.*;
import org.json.JSONObject;
import org.json.JSONArray;

moldsCode = vars.get("moldsCode");
//定义一个方法断言业务是否成功
public static void isVal(){
    String response_data = prev.getResponseDataAsString();
    JSONObject data_obj = new JSONObject(response_data);//创建一个jsonObject类型对象,并将响应数据放到里面
    //判断rows是否为空,为空直接返回null,不再走后面的for流程
    if((data_obj.get("rows")).equals(null)){
        log.info("※※ 接口返回的rows列表是空的");
    } 
    else{
        JSONArray rows_list = (JSONArray)((JSONObject)data_obj).get("rows");
        for(int i=0;i<rows_list.length();i++){
            moldcode = ((JSONObject)rows_list.get(i)).get("moldcode");
            orderchildno = ((JSONObject)rows_list.get(i)).get("orderchildno");
            
            if(moldsCode.contains(moldcode)){
                log.info("已找到正常状态的模具"+moldcode+",对应的工单为"+orderchildno);
                vars.put("moldcode",moldcode);
                break;
            }
            else{
                log.info("※※ 没有找到正常状态的模具的工单");
            }
            
        }
    }
}

//调用断言方法
isVal();

6、结果

图片.png
上一篇 下一篇

猜你喜欢

热点阅读