Java接口自動化測試(三) — POST請求封裝


后面我們需要設計測試用例並執行post請求,因此需要對上一篇的post的請求進行封裝,允許不同參數的用例能夠執行此方法

將Java接口自動化測試(二) 的內容做以修改:

1、首先post的請求我們接收的參數是一個map類型參數

2、返回值類型是一個JSON類型

3、根據具體的需求設計參數和返回值類型,具體post請求執行的過程都是一樣的

package com.test.httpclient;

import com.alibaba.fastjson.JSONObject;
import org.apache.http.HttpEntity;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;
import org.apache.http.util.EntityUtils;
import java.io.IOException;
import java.util.Map;
public class HttpClientPost {
    //POST登錄方法
    public JSONObject LoginPost(Map<String, Object> map) throws IOException 
      {

        //創建一個獲取連接客戶端的工具
        CloseableHttpClient httpClient = HttpClients.createDefault();
        //創建Post請求
        HttpPost httpPost = new HttpPost("http://localhost:8081/api/login");
        //添加請求頭
        httpPost.addHeader("Content-Type","application/json;charset=UTF-8");
        //封裝請求參數,將map集合轉換成json格式
        JSONObject jsonString = new JSONObject(map);
        //使用StringEntity轉換成實體類型
        StringEntity entity = new StringEntity(jsonString.toString(),"UTF-8");
        //將封裝的參數添加到Post請求中
        httpPost.setEntity(entity);
        //執行請求
        CloseableHttpResponse response =  httpClient.execute(httpPost);
        //獲取響應的實體
        HttpEntity responseEntity = response.getEntity();
        //轉化成字符串
        String entityString = EntityUtils.toString(responseEntity);
        //轉換成JSON格式輸出
        JSONObject result =  JSONObject.parseObject(entityString);
        response.close();
        httpClient.close();
        return result;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM