基於http協議的介面測試 1

2021-06-19 00:58:21 字數 2049 閱讀 9484

介面的分類:

1、系統與系統之間的呼叫,比如銀行會提供介面供電子商務**呼叫,或者說,支付寶會提供介面給**呼叫 

2、上層服務對下層服務的呼叫,比如service層會呼叫dao層的介面,而應用層又會呼叫服務層提供的介面,一般會通過 

3、服務之間的呼叫,比如註冊使用者時,會先呼叫使用者查詢的服務,檢視該使用者是否已經註冊。 

而我們所要做的介面測試,先要了解是基於哪一種型別的介面測試,不同型別的介面測試方法可能是不一致的

http協議的介面測試,一般會用jmeter去測試,jmeter的好處是不用寫測試**,直接使用jmeter提供的http請求去測試,也可以使用httpclient去測試,好處是可以方便整合和自動化

以下**待分類進行改進,僅為參考

介面測試案例:

一).介面約定:

1、介面均採用http協議,post方法。

2、應用資料同步請求引數為transdata、sign。transdata為具體業務引數,資料格式為json格式;sign為transdata的簽名資料。具體呈現方式為transdata=***x&sign=yyyy,其中yyyy就是對***x的簽名資料,yyyy=rsa(md5(***x))。收到資料後需對簽名進行驗證。

3、a平台需要以雙方約定的金鑰對請求資料進行簽名。

二).引數列表:

引數名稱

引數含義

資料型別

是否可選

引數說明

opertype

資料操作型別

integer

必填資料操作型別:

0 – 新增

1 – 變更

2 – 刪除

應用編號

string

必填應用名稱

string

必填遊戲名稱

三).樣例:

請求資料(http包體資料):

成功應答資料(http包體資料):

失敗應答

,還有其它的code**:9994、9998等

實現**如下:

/**

* 使用 httpclient 需要以下 5 個步驟:

1. 建立 httpclient 的例項

2. 建立某種連線方法的例項,在這裡是 httppost,在httppost 的建構函式中傳入待連線的位址

3. 呼叫第一步中建立好的例項的 execute 方法來執行第二步中建立好的 method 例項

4. 讀 response

5. 釋放連線。無論執行方法是否成功,都必須釋放連線

*/@test

public static void sendsms() throws exception catch (clientprotocolexception e) catch (ioexception e)

// return conresult;

} /**

* 拼接transdata資料

* */

int opertype = 1;

} /**

* 用md5演算法對transdata進行加密

* */

public static string encrypt_sign() throws exception

-----------------------testng執行完成輸出的日誌

同步資料11

","opertype":0}

sign:3f58b89e2e1efd0f104cf0cc891bf6c 4d07cd4c898c0df22af83776e1d04bbc 36339c09d26c267d381ed4682fff9392 

伺服器返回的狀態:200

passed: sendsms

可以使用firefox的乙個外掛程式:httprequester 模擬傳送請求(請求url、傳輸方法、引數)

備註:

比較蛋疼的問題就是httpclient4.3版本,會自動的儲存cookies,其它介面直接引用登陸的cookies,偶爾會出現失敗,如果輸出該cookies資訊,其它介面可以正常呼叫成功

1.2.

介面測試 HTTP協議

1.http 超文字傳輸協議,是用於www伺服器傳輸超文字到本地瀏覽器的傳輸協議。2.http協議包括哪些請求呢?get 請求指定的頁面資訊,並返回實體主體 post 向指定的資源提交資料進行處理請求,資料被包含在請求體中 head 類似get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭 o...

介面測試 http協議簡介

在做介面測試的過程中,都會遇到一些http協議,什麼是http協議?http協議是hyper text transfer protocol 超文字傳輸協議 的縮寫,是用於從全球資訊網 www world wide web 伺服器傳輸超文字到本地瀏覽器的傳送協議。基於tcp的應用層協議,它不關心資料傳...

軟體測試 http協議1

1 使用filder 抓包工具,對請求url位址進行抓取 2 http 協議的定義 超文字傳輸協議 通常執行在tcp之上 3 http 協議的請求格式 3.2 主機位址或網域名稱 例如 192.168.x.xx 8080 位址 埠號 www.com 網域名稱 localhost8080 localh...