Java 接口自動化系列--工具類之Http請求方式封裝


HttpUtils工具類的一些實現

方法中的傳參先不用管,是為了后續方便需要加上的,后面介紹其它類時會依依介紹

url:請求地址,params:請求參數,isAuthorzation:定義接口是否需要鑒權,接口請求時需要判斷,在實際用例調用接口時,給一個true ,意思是需要鑒權 並設置token到請求頭中

請求方式的幾個方法 最后的返回值都是 return body ,是為了后續需要響應內容作斷言作准備

由於公司項目使用的是https請求,需要繞過證書執行接口,否則接口會報錯,這里我用的是連接池的方式進行連接配置

 

 

 

1、get請求

此方法可以去掉方法中的params,  因為參數可能在中間,也可能在最后,不好統一處理,此時只傳入url一個參數,需要該url帶上規定的參數寫法

添加請求頭時,也可用get.setHeader();方法

 

2、請求地址帶參數的get請求

3、post請求 ,需要設置請求頭和請求參數, post請求分為json格式的請求和form形式的請求, 此只列舉一個,同上面的get請求一樣

 4、put請求與post一樣,需要設置請求頭和請求參數,代碼和post類似,只是HttpPost 變為HttpPut

這里要說下Delelt,由於delete請求方式繼承於HttpRequestBase,沒有實現setEntity的方法,因此無法設置HttpEntity對象,需要單獨寫一個類 模擬setEntity方法

Delete請求方法

 

5、封裝一個方法,用於判斷傳入的是何種類型的請求方式

url:請求地址   

reqMethod: 請求方式類型  ----->對應excel表格中“接口信息”的 “接口請求方式”

params:請求參數  ----->對應excel表格中的“用例”中的“參數”

submitType: 請求的風格類型是json還是表單form ----->對應excel表格中“接口信息”的 “接口提交類型”

isAuthorization:是否需要鑒權 ------>工具包中 鑒權類判斷

language:語言頭-------->用來判斷每次執行使用的是什么語言

equalsIgnoreCase() 方法用於將字符串與指定的對象比較,不考慮大小寫。

語法:public boolean equalsIgnoreCase(String anotherString),是java  String類的一個方法 

 

6、把json格式的參數轉為get請求帶參數的格式,即form請求格式

如下圖,調用get方法時,傳入的參數params直接賦值為json格式的,這里寫這個方法專門用來把json格式轉化為get請求帶參數的格式,

json格式為: {"mobilephone":"13567890000","pwd":"12345678"}

帶參數的get請求一般為:mobilephone=13567890000&pwd=12345678

需要在pox文件中添加json依賴,添加alibaba的fastjson

<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.58</version>
</dependency>

JSONObject.parseObject------>字符串轉為對象 的一個方法

補充說明,如果在請求時,需要抓包,也可以實現 , 以fiddler抓包為例,代碼如下,

需要設置一個host對象,設置本機地址和占用端口,在發送請求時有要加上主機,其它代碼是一樣的


免責聲明!

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



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