JMeter 編寫接口測試用例遇到的問題及解決

一、BeanShell Sampler使用JS函數(shù)生成的日期月份小于10時(shí)是個(gè)位數(shù)
開始用的是:
"baseDate": "${__javaScript((new Date()).getFullYear()+'-'+ ((new Date()).getMonth()+1) + '-' + (new Date()).getDate(),)}"
生成的月份和日期小于10時(shí)都是個(gè)位數(shù)椅文,比如2018-9-8
如果接口文檔預(yù)期返回的格式是2018-09-08妓灌,則不匹配

  • 一個(gè)辦法是琅摩,用java.util.Calendar類
import java.text.SimpleDateFormat;
import java.util.Calendar;

public String myDate(){
   String res;
   Calendar cal = Calendar.getInstance();
   SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
   res = simpleDateFormat.format(cal.getTime());
   return res;
}
vars.put("baseDate",myDate());
  • 一個(gè)辦法是厅各,用java.util.Date類

需注意 new Date(myYear-1900,month,day) 實(shí)際生成的月份是 month+1
需注意日期轉(zhuǎn)換
SimpleDateFormat("yyyy-MM-dd") 生成的結(jié)果日月個(gè)位時(shí)會(huì)在個(gè)位數(shù)前加0
SimpleDateFormat("yyyy-M-d") 生成的結(jié)果日月個(gè)位時(shí)就是個(gè)位數(shù)

日月是個(gè)位數(shù)生成的是兩位.png
日月是個(gè)位數(shù)生成的是一位.png
日月是兩位數(shù)生成的是兩位.png

二盗蟆、下游接口M發(fā)送請(qǐng)求和接口N返回值都用到同一字段A戈二,BeanShell Sampler事先設(shè)置好字段A

提前生成需要用的字段A.png

之后接口M請(qǐng)求用到此字段A.png

接口N返回值斷言用到字段A

舉一反三,只要某字段是唯一固定的喳资,后面有很多地方用到觉吭,就可以事先把它設(shè)置好(通過獲取/新建),之后 ${name} 引用即可.

三仆邓、調(diào)用格式轉(zhuǎn)換函數(shù)鲜滩,注意函數(shù)參數(shù)的格式和傳參value值原來的格式
這個(gè)問題也是在生成日期進(jìn)行格式轉(zhuǎn)換時(shí)遇到的,當(dāng)時(shí)接口返回的createTime是個(gè)時(shí)間戳一串?dāng)?shù)字

時(shí)間戳是一串?dāng)?shù)字

時(shí)間戳轉(zhuǎn)換成年月日時(shí)分秒的函數(shù)如下:

import java.text.SimpleDateFormat;
import java.util.Date;

public String stampToDate(String s){
   String res;
   SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
   long lt = new Long(s);
   Date date = new Date(lt);
   res = simpleDateFormat.format(date);
   return res;
}

重點(diǎn)來了,如果用以下這行代碼不能成功轉(zhuǎn)換节值,猜猜是為什么徙硅?
vars.put("createDateAndTime", stampToDate(String.valueOf(${createTime})));
1
2
3
想到了嗎?
因?yàn)?${createTime} 獲取到的是一串?dāng)?shù)字搞疗,此處傳參需要是個(gè)字符串~
解決方法很簡單 加上雙引號(hào) 變成字符串~即
vars.put("createDateAndTime", stampToDate(String.valueOf("${createTime}")));

四嗓蘑、需求明確返回內(nèi)容不能包含某字段,校驗(yàn)是否沒返回該字段匿乃,需事先特別設(shè)置
事例接口是獲取患者列表桩皿,有很多個(gè)患者(對(duì)象)。截圖只截了一部分如下:

接口返回的數(shù)組里有多個(gè)對(duì)象

斷言只是其中一個(gè)對(duì)象

接口運(yùn)行是通的幢炸,沒有報(bào)錯(cuò)业簿。

因?yàn)槟J(rèn)情況下,預(yù)期返回內(nèi)容"obj":[{a}]阳懂,實(shí)際返回內(nèi)容"obj":[{a},梅尤,{c}],后面多出的內(nèi)容不會(huì)去校驗(yàn)岩调。

注意a必須是第一個(gè)巷燥,如果預(yù)期返回內(nèi)容"obj":[{c},]号枕,實(shí)際返回內(nèi)容"obj":[{a},缰揪,{c}],則跑不通過葱淳。此時(shí)排序不確定只需要校驗(yàn)是否包含在返回值內(nèi)的話钝腺,則可以預(yù)期結(jié)果勾選“只檢查數(shù)組中數(shù)據(jù)是否包含在預(yù)期結(jié)果中”

如果需求明確是返回內(nèi)容不能包含某字段,需校驗(yàn)確實(shí)沒返回該字段赞厕,需事先設(shè)置艳狐。

斷言里面設(shè)置好預(yù)期不存在的字段
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市皿桑,隨后出現(xiàn)的幾起案子毫目,更是在濱河造成了極大的恐慌蔬啡,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件镀虐,死亡現(xiàn)場離奇詭異箱蟆,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)刮便,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門空猜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人恨旱,你說我怎么就攤上這事辈毯。” “怎么了窖杀?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長裙士。 經(jīng)常有香客問我入客,道長,這世上最難降的妖魔是什么腿椎? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任桌硫,我火速辦了婚禮,結(jié)果婚禮上啃炸,老公的妹妹穿的比我還像新娘铆隘。我一直安慰自己,他們只是感情好南用,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布膀钠。 她就那樣靜靜地躺著,像睡著了一般裹虫。 火紅的嫁衣襯著肌膚如雪肿嘲。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天筑公,我揣著相機(jī)與錄音雳窟,去河邊找鬼。 笑死匣屡,一個(gè)胖子當(dāng)著我的面吹牛封救,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播捣作,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼誉结,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼!你這毒婦竟也來了券躁?” 一聲冷哼從身側(cè)響起搓彻,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤如绸,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后旭贬,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怔接,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年稀轨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了扼脐。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡奋刽,死狀恐怖瓦侮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情佣谐,我是刑警寧澤肚吏,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站狭魂,受9級(jí)特大地震影響罚攀,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜雌澄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一斋泄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧镐牺,春花似錦炫掐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至畦浓,卻和暖如春摔认,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宅粥。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來泰國打工参袱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人秽梅。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓抹蚀,卻偏偏與公主長得像,于是被迫代替她去往敵國和親企垦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子环壤,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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

  • 國家電網(wǎng)公司企業(yè)標(biāo)準(zhǔn)(Q/GDW)- 面向?qū)ο蟮挠秒娦畔?shù)據(jù)交換協(xié)議 - 報(bào)批稿:20170802 前言: 排版 ...
    庭說閱讀 10,913評(píng)論 6 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)钞诡,斷路器郑现,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • 六【觀點(diǎn)辨認(rèn)器】 1.你選擇分析哪句話? 【一位從大西南貧困山區(qū)中走出來即將在廈門某大學(xué)畢業(yè)的女孩說:“我決定回老...
    李雪燃閱讀 616評(píng)論 0 0
  • 如今辛友,在知識(shí)方面薄扁,每天輸入的速度已經(jīng)遠(yuǎn)遠(yuǎn)不及輸出的速度了。 確實(shí)废累,時(shí)間一長邓梅,會(huì)寫的會(huì)越來越感覺到乏力。 那么邑滨,如何...
    者行孫閱讀 272評(píng)論 0 1
  • 嶷沛閱讀 637評(píng)論 2 16