方向不对,努力白费,经验类测试技术才是职场重要保险! | (点击→)【公告】精力有限,博客暂停更新,最新分享干货请联系作者vx了解

java接口自动化系列(11):断言请求结果

 

本系列汇总,请查看这里https://www.cnblogs.com/uncleyong/p/15867903.html  

实现目标

解析测试数据中要断言的字段,进行断言,判断用例是否成功。

 

添加工具类

AssertUtil.java

package com.qzcsbj.autotest.utils;

import com.jayway.jsonpath.Configuration;
import com.jayway.jsonpath.JsonPath;
import org.testng.Assert;

/**
 * @公众号 : 全栈测试笔记
 * @博客 : www.cnblogs.com/uncleyong
 * @微信 : ren168632201
 * @描述 : <>
 */
public class AssertUtil {
    // 断言字段
    public static void getFieldsAssertRes(String actual, String assertFields){
        if (StringUtil.isNotNullAndEmpty(actual)){
            String key,value;
            Object document = Configuration.defaultConfiguration().jsonProvider().parse(actual);
            String[] assertFieldarr = assertFields.split(";");
            for (String assertField : assertFieldarr) {
                if (StringUtil.isNotNullAndEmpty(assertField)){
                    key = assertField.split("=")[0].trim();
                    value = assertField.split("=")[1].trim();
                    String key_real = JsonPath.read(document, key).toString();
                    Assert.assertEquals(key_real, value);
                } else {
                    Assert.fail("assertField is null or empty");
                }
            }
        } else {
            Assert.fail("actual is null or empty");
        }
    }
}

  

修改测试方法

添加如下逻辑

        // 是否需要断言关键字段
        if (StringUtil.isNotNullAndEmpty(assertFields)){
            AssertUtil.getFieldsAssertRes(actual, assertFields);
        }

  

结果演示

有断言,运行结果展示效果是:

 

posted @ 2023-12-24 16:35  全栈测试笔记  阅读(506)  评论(0)    收藏  举报
浏览器标题切换
浏览器标题切换end