Jmeter針對API接口的測試

jmeter簡介與安裝

Apache JMeter是Apache組織開發(fā)的基于Java的測試工具诀浪,安裝jmeter之前店印,需要先安裝設(shè)置java環(huán)境鸠按,jdk下載地址

JMeter 下載地址

解壓后草姻,以管理員身份運(yùn)行bin/jmeter.bat

注意 一定要以管理員身份運(yùn)行 否則部分功能將會(huì)出現(xiàn)問題

image.png

jmeter基礎(chǔ)使用

單一接口測試

我們現(xiàn)在所定義的接口一般為http/https請求方式溪椎,如何創(chuàng)建一個(gè)http請求測試呢宴凉?

打開jmeter誊锭,創(chuàng)建一個(gè)測試計(jì)劃,并保存測試計(jì)劃

右擊測試計(jì)劃 添加線程組 設(shè)置好線程組名稱弥锄,比如說我們要測登陸功能炉旷,將線程組名稱設(shè)置為登陸

image2.png

創(chuàng)建測試請求

image3.png

對接口測試

以登陸接口為例签孔,登陸接口的定義如下

image5.png

接上一步的步驟,我們在http請求中填寫的參數(shù)應(yīng)該如下

image6.png

創(chuàng)建接口響應(yīng)結(jié)果

image7.png

運(yùn)行測試

如圖窘行,這樣我們就可以看到結(jié)果的響應(yīng)信息了


image8.png

斷言測試接口響應(yīng)結(jié)果是否達(dá)到了預(yù)期

我們的接口都是采取json格式饥追,我們需要編寫代碼解析json格式,此外需要引入額外的json解析包

json.jar大家百度自行下載

將該文件復(fù)制到j(luò)emter的lib目錄下罐盔,重新啟動(dòng)jmeter

beanshell解析json

添加一個(gè)beanshell斷言但绕,關(guān)于beanshell的語法及使用,參考下面的文章

image9.png

基礎(chǔ)的json解析代碼

image10.png

代碼說明

import org.json.*;

//獲取接口響應(yīng)數(shù)據(jù)惶看,此兩行代碼無需變更
String responseData = prev.getResponseDataAsString();
JSONObject dataObj = new JSONObject(responseData);

//根據(jù)響應(yīng)的json串捏顺,獲取result code字段,例如纬黎,接口的響應(yīng)信息為 {"reuslt::{"code":"10000"}},那么我們通過下面的代碼可以取得10000這個(gè)值
String resultCode = dataObj.get("result").get("code").toString();

log.info("resultCode:"+resultCode);

// 字符串的等于比較請使用equals
if (resultCode.equals("10000"))
{
//到預(yù)期結(jié)果幅骄,將Failure設(shè)置true,表示無需斷言,測試通過,FailureMessage 為斷言信息本今,
    Failure = false;
    FailureMessage = "ok";
}
else
{
//未達(dá)到預(yù)期效果拆座,測試失敗
    Failure = true;
    FailureMessage = "fail";    
}

如果測試未通過,測試結(jié)果中將顯示紅色

image11.png

流程測試

上面的測試我們只是測試了單一接口冠息,但測試過程中我們需要進(jìn)行完善的流程測試挪凑,比如說支付,需要用戶先登陸逛艰,然后在填寫支付金額等信息進(jìn)行支付躏碳,這是一個(gè)系列的流程,需要對一系列的流程測試散怖,測試步驟接上面的內(nèi)容進(jìn)行

對于支付接口菇绵,我們需要從登陸接口獲取usid以及access_token
還是上面那段代碼,獲取usid及access_token并賦值到j(luò)meter變量中

import org.json.*;

//獲取接口響應(yīng)數(shù)據(jù)镇眷,此兩行代碼無需變更
String responseData = prev.getResponseDataAsString();
JSONObject dataObj = new JSONObject(responseData);

//根據(jù)響應(yīng)的json串咬最,獲取result code字段,例如偏灿,接口的響應(yīng)信息為 {"reuslt::{"code":"10000"}},那么我們通過下面的代碼可以取得10000這個(gè)值
String resultCode = dataObj.get("result").get("code").toString();

log.info("resultCode:"+resultCode);

// 字符串的等于比較請使用equals
if (resultCode.equals("10000"))
{
       //獲取usid及access_token
    String usid = dataObj.get("data").get("profile").get("id").toString();
    String access_token = dataObj.get("data").get("access_token").toString();

       //賦值到j(luò)meter變量
    vars.put("usid",usid);
    vars.put("access_token",access_token);

        //到預(yù)期結(jié)果丹诀,將Failure設(shè)置true,表示無需斷言钝的,測試通過,FailureMessage 為斷言信息
    Failure = false;
    FailureMessage = "ok";
}
else
{
//未達(dá)到預(yù)期效果翁垂,測試失敗
    Failure = true;
    FailureMessage = "fail";    
}

新建一個(gè)http請求

1.png

此時(shí)我們已將這兩部流程串聯(lián)起來了,請求信息中查看上述兩個(gè)字段已經(jīng)從登陸結(jié)果中獲取并傳入

331.png

一個(gè)基礎(chǔ)的流程測試這樣完成了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末硝桩,一起剝皮案震驚了整個(gè)濱河市沿猜,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌碗脊,老刑警劉巖啼肩,帶你破解...
    沈念sama閱讀 211,265評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡祈坠,警方通過查閱死者的電腦和手機(jī)害碾,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來赦拘,“玉大人慌随,你說我怎么就攤上這事√赏” “怎么了阁猜?”我有些...
    開封第一講書人閱讀 156,852評論 0 347
  • 文/不壞的土叔 我叫張陵,是天一觀的道長蹋艺。 經(jīng)常有香客問我剃袍,道長,這世上最難降的妖魔是什么捎谨? 我笑而不...
    開封第一講書人閱讀 56,408評論 1 283
  • 正文 為了忘掉前任民效,我火速辦了婚禮,結(jié)果婚禮上侍芝,老公的妹妹穿的比我還像新娘研铆。我一直安慰自己,他們只是感情好州叠,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評論 5 384
  • 文/花漫 我一把揭開白布棵红。 她就那樣靜靜地躺著,像睡著了一般咧栗。 火紅的嫁衣襯著肌膚如雪逆甜。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,772評論 1 290
  • 那天致板,我揣著相機(jī)與錄音交煞,去河邊找鬼。 笑死斟或,一個(gè)胖子當(dāng)著我的面吹牛素征,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播萝挤,決...
    沈念sama閱讀 38,921評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼御毅,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了怜珍?” 一聲冷哼從身側(cè)響起端蛆,我...
    開封第一講書人閱讀 37,688評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎酥泛,沒想到半個(gè)月后今豆,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體嫌拣,經(jīng)...
    沈念sama閱讀 44,130評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評論 2 325
  • 正文 我和宋清朗相戀三年呆躲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了异逐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡插掂,死狀恐怖应役,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情燥筷,我是刑警寧澤箩祥,帶...
    沈念sama閱讀 34,276評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站肆氓,受9級特大地震影響袍祖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜谢揪,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評論 3 312
  • 文/蒙蒙 一蕉陋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拨扶,春花似錦凳鬓、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至匹颤,卻和暖如春仅孩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背印蓖。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評論 1 265
  • 我被黑心中介騙來泰國打工辽慕, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赦肃。 一個(gè)月前我還...
    沈念sama閱讀 46,315評論 2 360
  • 正文 我出身青樓溅蛉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親他宛。 傳聞我的和親對象是個(gè)殘疾皇子船侧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)堕汞,斷路器勺爱,智...
    卡卡羅2017閱讀 134,629評論 18 139
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,749評論 25 707
  • Jmeter Bean shell 最近在學(xué)習(xí)使用 Jmeter 來進(jìn)行接口測試晃琳,使用 Jmeter 提供的基礎(chǔ)方...
    csmijo閱讀 2,925評論 0 5
  • 在使用Jmeter進(jìn)行接口的性能測試時(shí)讯检,由于Jmeter 是JAVA應(yīng)用琐鲁,對于CPU和內(nèi)存的消耗比較大,所以人灼,當(dāng)需...
    燕京博士閱讀 4,162評論 0 16
  • 2017围段,親愛的媽咪59歲。最近一次與她出境旅行在2014年投放,三年前的巴厘島假期一直讓她念念不忘奈泪。 我尋思著今年也...
    穎穎潛行閱讀 308評論 1 3