自动化工具 MeterSphere 脚本断言

panpan · 2022年03月30日 · 最后由 布吉岛 回复于 2023年04月13日 · 4070 次阅读

1、响应数据如下:

{
    "retCode": "000000",
    "retMsg": "操作成功",
    "data": [
        {
            "id": 3,
            "versionCode": "V4.2.2",
            "versionState": 3,
            "creator": "XXX",
            "createTime": "2022-03-30 10:35:55"
        },
        {
            "id": 2,
            "versionCode": "V4.2.1",
            "versionState": 2,
            "creator": "xxx",
            "createTime": "2022-03-08 14:52:29"
        },
        {
            "id": 1,
            "versionCode": "V4.2.0",
            "versionState": 2,
            "creator": "system",
            "createTime": "2022-03-03 10:41:12"
        }
    ]
}

2、数据库执行 sql 结果设置到变量中;

3、如下进行脚本断言

import org.json.*;

String res = prev.getResponseDataAsString();//获取响应结果
log.info(res);
JSONObject jsonObject = new org.json.JSONObject(res);
JSONArray data = jsonObject.getJSONArray("data");
JSONObject jsonObject1 = data.getJSONObject(0);
String versionCode = jsonObject1.getString("versionCode");
log.info("请求获取:"+versionCode);
String datares = "${version_code_1}";//获取数据库结果
log.info("数据库获取:"+datares);
if(datares.equals(versionCode)){
    AssertionResult.setFailure(false); //显示断言是否失败 true是失败,false为成功
    AssertionResult.setFailureMessage("断言成功");//显示断言信息
}else {
    AssertionResult.setFailure(true); //显示断言是否失败 true是失败,false为成功
    AssertionResult.setFailureMessage("断言失败");//显示断言信息
}
共收到 2 条回复 时间 点赞

请用 markdown 代码块来排版代码部分吧,现在代码部分没有缩进高亮什么的,读起来不是很舒服。

我想问下如果我的断言是一个 list,我想对每个元素匹配,断言结果需要显示每个元素是否成功咋操作

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册