JAVA 基于HttpClient-4.4传递json字符串作为参数发送POST请求 详细封装说明

本文介绍了如何在Java中使用HttpClient-4.4发送带有json参数的POST请求。首先在PushClaimTest测试类中调用Helper工具类的pushClaim方法。Helper类中有两个pushClaim实现,一种适用于多个可变参数,另一种适用于少量固定参数。JsonUtil类提供了操作JSON对象的方法,如获取、替换和删除字段。最后,HttpUtil类封装了HTTP Post请求的发送过程。
摘要由CSDN通过智能技术生成

场景:
POST请求,基于json格式,请求报文中部分字段在自动化测试中,是唯一的,所以需要参数化。
将参数化后的json报文作为该POST请求的参数,发送并检查是否请求成功。

以下是详细说明
一、测试类:PushClaimTest.java
定义方法 test(),调用 工具类 Helper.pushClaim()的方法
这里有两种方式:
1、创建Map集合,将所有需要参数化的json字符串的   jsonPath,jsonValue 分别放入Map中,然后调用Helper.pushClaim(map,"","")方法;
2、需要参数化的字段已因定不变且比较少,直接使用Helper.pushClaim("","")方法;这里的两个参数分别代表 companyCode,userAccount

PushClaimTest.java 代码:

import com.arronlong.httpclientutil.exception.HttpProcessException;
import com.cccis.test.common.util.helper.Helper;
import org.testng.annotations.Test;

import java.util.HashMap;
import java.util.Map;

public class PushClaimTest {
    @Test
    public void test() throws HttpProcessException {
        Map<String,Object> map = new HashMap();
        String jsonPath = "";
        String jsonValue = "03";

        map.put(jsonPath,jsonValue);
//        Helper.pushClaim(map,"SH0103","auto01");
        Helper.pushClaim("SH0103","auto01");
    }
}


二、工具类:Helper.java
定义了重载方法 pushClaim(),一个是json报文中需要参数化的字段有多个且可变,就使用参数有map集合的pushClaim方法
pushClaim()解析
1、使用工具类JSONUtil.java中的getJsonObject()方法获取json字符串的JSONOject对象
2、json字符串中需要固定参数化的字段通过随机数拼接,使其自动生成
3、使用工具类JSONUtil.replaceJson()方法,替换json对象中需要参数化的字段
4、判断pushClaim()方法中的参数Map集合是否为空
   不为空时,就遍历Map集合,然后使用JSONUtil.replaceJson()方法,替换json对象中map集合里需要参数化的字段
5、将上述已替换完成的JSON对象转换成字符串
6、使用工具类HttpUtil.pushClaim()方法并传入第5步的字符串发送HTTP请求(这里是POST请求)
7、判断HTTP请求响应报文中,是否包含成功相关字样

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值