JMeter 接口測試(手工測試腳本)

接口測試的工具有很多,之前在另外一篇文章中寫過用 Postman 做接口測試的 http://m.itdecent.cn/p/fdfbf790927a,這次我們來學(xué)習(xí)用另外一個工具 JMeter 來做一個簡單的接口測試。

1、獲取 API 信息

API的方法:GET

API的URL:https://api.seniverse.com/v3/weather/now.json

API的參數(shù):

  1. 請求參數(shù):

    參數(shù)名 參數(shù)類型 參數(shù)意義 是否必選
    key string 你的API密鑰 (需要自主到心知天氣平臺獲取) true
    location string 查詢的地理位置 true
    language string 結(jié)果表示的語言 false,默認(rèn)簡體中文
    unit string 結(jié)果表示的單位(華氏度,攝氏度) false,默認(rèn)攝氏度

    location 參數(shù)值范圍:

    代理位置有世界各地的,可以參考一份數(shù)據(jù)文檔,鏈接:https://pan.baidu.com/s/1_LTRGVI799L-sfZyWbbIPA 密碼:gk3t

    language 參數(shù)值范圍:

    • zh-Hans 簡體中文

    • zh-Hant 繁體中文

    • en 英文

    • ja 日語

    • de 德語

    • fr 法語

    • es 西班牙語

    • pt 葡萄牙語

    • hi 印地語(印度官方語言之一)

    • id 印度尼西亞語

    • ru 俄語

    • th 泰語

    • ar 阿拉伯語

    • 默認(rèn)值:zh-Hans

    unit 參數(shù)值范圍:

    當(dāng)unit為c時

    返回值 單位
    溫度 c(攝氏度)
    風(fēng)速 km/h(千米每小時)
    能見度 km(千米)
    氣壓 mb(百帕)

    當(dāng)unit為f時

    返回值 單位
    溫度 f(華氏度)
    風(fēng)速 mph(英里每小時)
    能見度 mi(英里)
    氣壓 in(英寸)
  2. 響應(yīng)參數(shù):

    參數(shù)名 參數(shù)類型 參數(shù)意義
    location 對象:包括id, name, country, path,timezone, timezone_offset
    now 對象:包括 text,code, temperature
    last_update 日期

    示例:

    {
     "results": [
         {
             "location": {
                 "id": "WS10730EM8EV",
                 "name": "深圳",
                 "country": "CN",
                 "path": "深圳,深圳,廣東,中國",
                 "timezone": "Asia/Shanghai",
                 "timezone_offset": "+08:00"
             },
             "now": {
                 "text": "多云",
                 "code": "4",
                 "temperature": "29"
             },
             "last_update": "2018-09-04T19:20:00+08:00"
         }
     ]
    }
    

2、編寫用例腳本

首先在 JMeter 的線程組下創(chuàng)建一個 HTTP 請求測試腳本,把 API 的信息填寫完整。

3、運(yùn)行用例腳本

然后在線程組下添加監(jiān)聽器--察看結(jié)果樹,運(yùn)行用例腳本。

從上面的響應(yīng)數(shù)據(jù)可以看到服務(wù)器成功返回了相對應(yīng)的天氣結(jié)果。

4、用例斷言

返回響應(yīng)數(shù)據(jù)后,接著對用例編寫一個斷言判斷測試是否通過。下面我們以斷言城市名稱 name 參數(shù)為例對這個測試用例添加一個斷言。

4.1 編寫斷言

斷言的方式有很多,平時測試可以根據(jù)自己的需要選擇不同的斷言方式。

這里我們選擇 JSON Assertion 的方式,在請求下添加一個 JSON Assertion 斷言。

這里有幾個配置項(xiàng)要設(shè)置一下:

Assert JSON Path exists:要斷言的 JSON 元素路徑。其中請求響應(yīng)數(shù)據(jù)的 JSON 對象換成了別名$, 路徑的寫法有2種,一種是$.results[0].location.name ,另外一種是$['results'][0]['location']['name']

Additionally assert value:如果想讓斷言具有某些值,勾選復(fù)選框,這里我們勾選上。

Expected Value:斷言的值 。這里寫上期望的 name 值:深圳。

最后,在腳本下添加一個監(jiān)聽器--斷言結(jié)果來監(jiān)聽斷言的結(jié)果情況。

4.2 查看斷言結(jié)果

添加斷言后,再次運(yùn)行一次用例腳本。

從上圖可以看出斷言通過了。

為了看斷言失敗的效果,故意改錯請求中的 location 參數(shù)值。

再發(fā)送一次請求。

這次可以看到用例斷言失敗了。

以上就是一個用 JMeter 工具做接口測試的簡單例子,希望對初學(xué)者有用。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容