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);
}
结果演示
有断言,运行结果展示效果是:

__EOF__
本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等
面试必备:项目实战(性能、自动化)、简历笔试,https://www.cnblogs.com/uncleyong/p/15777706.html
测试提升:从测试小白到高级测试修炼之路,https://www.cnblogs.com/uncleyong/p/10530261.html
欢迎分享:如果您觉得文章对您有帮助,欢迎转载、分享,也可以点击文章右下角【推荐】一下!

浙公网安备 33010602011771号