首页 > 编程语言 >java接口自动化系列(11):断言请求结果

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

时间:2024-01-03 14:01:36浏览次数:30  
标签:11 actual String assertFields 接口 Assert key assertField java

 

添加工具类

AssertUtil.java

package com.qzcsbj.autotest.utils;

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

/**
 * @公众号 : 全栈测试笔记

 * @描述 : <>
 */
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);
        }

  

结果演示

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

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

 

__EOF__


本文作者:持之以恒(韧)
关于博主:擅长性能、全链路、自动化、企业级自动化持续集成(DevTestOps)、测开等


标签:11,actual,String,assertFields,接口,Assert,key,assertField,java
From: https://blog.51cto.com/qzcsbj/9084428

相关文章

  • java接口自动化系列(07):解析并执行初始化sql
     添加pom依赖连接操作数据库<!--https://mvnrepository.com/artifact/mysql/mysql-connector-java--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><v......
  • java接口自动化系列(03):创建自动化框架项目
     创建maven项目 输入GroupId:com.qzcsbj输入ArtifactId:apiJavaAutoTest 输入Projectname:apiJavaAutoTest 配置maven修改Mavenhomedirectory和Usersettingsfile(settings.xml文件配置了阿里云镜像地址) 添加pom依赖testng<!--https://mvnrepository.com/artifact/org.testng......
  • 无涯教程-Java 正则 - X{n}+ 匹配函数
    PossesiveQuantifier[X{n}+]与存在的X个精确匹配n次。X{n}+-示例packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPossesiveQuantifierDemo{privatestaticfinalStringREGEX="T{2}+";privatestat......
  • WGCLOUD v3.5.0 如何监测交换机的接口状态UP DOWN
    WGCLOUDv3.5.0开始可以监测交换机或SNMP设备的接口状态了,直接上图......
  • Windows 11 简体中文版、英文版(64-bit、ARM64)下载(2022 年 1 月发布)
    Windows11最新正式版,2021年12月更新作者主页:www.sysin.org全新推出Windows11全新Windows体验,让您与热爱的人和事物离得更近。获得全新视角Windows11提供一个让人平静而富有创意的空间,全新体验引导您全力追逐热爱。从焕然一新的开始菜单,到与您关心的人、关注的消息、游戏......
  • macOS Big Sur 11.6.3 (20G415) 正式版 DMG、ISO、IPSW 下载
    本站提供的macOSBigSur软件包,既可以拖拽到Applications(应用程序)下直接安装,也可以制作启动U盘安装,或者在虚拟机中启动安装。macOSBigSur11.6.3(20G415)也于今天(2022年1月27日)发布,本次同样为安全更新。11.6完整安装包终于在(9月)17日发布,今天更新所有格式。macOS......
  • fugue 分布式计算通用接口
    fugue提供了通用方便分布式计算的接口,可以高效的访问大数据项目,提供了python,pandas,sql等模式如下图从上图可以看出fugue提供了一个语义层,我们的计算任务可以运行在ray,dask,spark,以及duckdb中参考架构可以看出fugue提供了不少方便的能力,比如sql,机器学习,以及流处理说明对于搞机器......
  • 无涯教程-Java 正则 - X++ 匹配函数
    PossesiveQuantifier[X++]与X匹配一次或多次。X++-示例packagecom.learnfk;importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassPossesiveQuantifierDemo{privatestaticfinalStringREGEX="T++";privatestaticfinalS......
  • java调用rust 共享库的一些方法简单说明
    java与rust的调用,核心还是基于jni进行处理,rust社区实现了不少方便的工具可以提供rust到c的处理(比如生成头文件)以下是整理的一些资料,方便学习几个不错的包jni-rs 目前还在活跃更新中,同时github的start也比较多,同时不少开源软件在用,比如questdbrobusta 一个比较新的项目,使用......
  • Windows 11 绕过 TPM 方法总结,通用免 TPM 镜像下载 (2023 年 7 月更新)
    Windows11绕过TPM方法总结,通用免TPM镜像下载(2023年7月更新)在虚拟机、Mac电脑和TPM不符合要求的旧电脑上安装Windows11的通用方法总结作者主页:sysin.org本文要解决的问题:如何安装Windows11虚拟机绕过TPM检测,Windows11ISO虚机直装镜像下载。如何在没有TPM......