以前也并沒有做過接口測試,甚至都不太理解接口到底是什么啦粹,但是公司的要求做接口測試,而且接口測試相對功能測試更高效窘游,所以自己看jmeter視頻學(xué)了一些覺得還是挺受用的唠椭,至少,開發(fā)說bug改好了忍饰,我不用一個一個的去手工的執(zhí)行贪嫂,直接跑一次腳本就值得有沒有改好。所以還是挺有點成就感的艾蓝。
接口力崇,首先還是要清楚接口的功能是什么?測試的接口協(xié)議赢织,一般都是http協(xié)議亮靴,然后根據(jù)功能,接口應(yīng)該有哪些用例于置,返回的參數(shù)是什么茧吊,然后準備好測試數(shù)據(jù)。
用jmeter配置一個http接口
1.在測試計劃下配置一個線程組,在線程組下添加http信息頭管理器搓侄、http請求默認值瞄桨、http請求。
2.在http請求下添加CSV Data Set Config配置原件讶踪,做參數(shù)化讲婚;添加一個響應(yīng)斷言和查看結(jié)果樹監(jiān)聽器。
基本的接口測試需要的元件已經(jīng)添加完成俊柔,下面來說說配置筹麸。
各個元件的配置
1.線程組
線程組主要修改循環(huán)次數(shù)和Ramp-Up Period,循環(huán)次數(shù)根據(jù)測試用例數(shù)據(jù)需要循環(huán)的次數(shù)來確定雏婶。啟動線程時間盡量根據(jù)循環(huán)測試寫大一點物赶,避免出現(xiàn)分功能性錯誤。
2. http信息頭管理器
添加一個參數(shù)content-type變量留晚,給變量賦值酵紫,如下圖。
HTTP信息頭管理器在Jmeter的使用過程中起著很重要的作用错维,通常我們在通過Jmeter向服務(wù)器發(fā)送http請求(get或者post)的時候奖地,往往后端需要一些驗證信息,比如說web服務(wù)器需要帶過去cookie給服務(wù)器進行驗證赋焕,一般就是放在請求頭(header)中参歹,因為對于此類請求,在Jmeter中就可以通過HTTP信息頭管理器隆判,在添加http請求之前犬庇,添加一個HTTP信息頭管理器,發(fā)請求頭中的數(shù)據(jù)通過鍵值對的形式放到HTTP信息頭管理器中侨嘀。在往后端請求的時候就可以模擬web攜帶header信息了臭挽。 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ——本段轉(zhuǎn)自CSDN?sunshinelyc的專欄
3.http請求默認值
輸入服務(wù)器名稱或IP和端口號。
注意:服務(wù)器名稱或端口號不需要加?http://咬腕,直接輸入IP地址或網(wǎng)址即可欢峰。端口號如果是默認可以不用輸入。
4.http請求配置
名稱可以根據(jù)接口功能自行修改涨共,方法根據(jù)協(xié)議選擇纽帖,然后輸入路徑和同請求一起發(fā)送的參數(shù)。
參數(shù)應(yīng)該有3種配置方式煞赢,我比較喜歡用中間的一種抛计,修改方便哄孤,三種配置方式只能選擇一種照筑。
此處參數(shù)的值參數(shù)名與CSV Data Set Config中的參數(shù)名要匹配,格式:${值變量},也可以在路徑中寫成參數(shù)化的格式凝危,如http請求圖
5.CSV Data Set Config
filename:參數(shù)數(shù)據(jù)的路徑波俄。文件的后綴名保存為.csv格式。
file encoding:主要根據(jù)導(dǎo)入的文件數(shù)據(jù)編碼確定編碼類型蛾默。
variable names:每列數(shù)據(jù)對應(yīng)的變量名懦铺。
Delimiter:.csv格式的后綴一般是用逗號間隔。
6.響應(yīng)斷言
響應(yīng)斷言參數(shù)化也是使用CSV Data Set Config文件中的數(shù)據(jù)配置支鸡,可以添加多個文本參數(shù)冬念,一般配置如下,各個字段分別代表什么可以自行去查閱
7.查看結(jié)果樹
查看結(jié)果樹一般不需要配置牧挣,點擊運行后急前,斷言匹配或接口運行成功會顯示綠色通過圖標
以上是完成一個接口測試需配置的元件和配置步驟。我也還是一個小白瀑构,正在測試的路上一點點的學(xué)習(xí)和總結(jié)裆针,可能在實際工作中還是會遇到一些其他的問題,然而寺晌,我也正是在解決問題中慢慢的成長世吨,一起加油吧!
問題:用jmeter調(diào)用接口傳到數(shù)據(jù)庫中的數(shù)據(jù)有的會顯示為“呻征?耘婚??”形式的亂碼陆赋,但是用fiddler單獨的調(diào)用接口和參數(shù)边篮,數(shù)據(jù)庫顯示正常,不知道你們是否有遇到過奏甫?然后是怎么解決這種情況的呢戈轿?(http請求的接口是用c#語言寫的,數(shù)據(jù)庫是sql server2014阵子。)