使用Jmeter進(jìn)行http接口測(cè)試的詳細(xì)流程
1、jmeter-http接口測(cè)試腳本
jmeter進(jìn)行http接口測(cè)試的主要步驟(1.添加線程組 2.添加http請(qǐng)求 3.在http請(qǐng)求中寫入接口的URL,路徑,請(qǐng)求方式,參數(shù) 4.添加查看結(jié)果樹 5.調(diào)用接口,查看返回值)
針對(duì)接口添加header在如下途徑添加:
jmeter做http接口測(cè)試添加cookie:
2、jmeter-webservice腳本
進(jìn)行webservice測(cè)試的一般步驟
1、在soapui中新建已經(jīng)soap項(xiàng)目,導(dǎo)入wsdl地址,獲取到請(qǐng)求報(bào)文、SOAPAction和請(qǐng)求url(在soapui的raw中能找到)
2、打開jmeter新建一個(gè)線程組
3、新建一個(gè)SOAP/XML-RPC Request
4、把url、soapaction和請(qǐng)求報(bào)文寫到soaprequest中5、調(diào)用接口、查看返回值)
3、jmeter-參數(shù)化
參數(shù)化的作用:調(diào)用接口入?yún)r(shí)。有時(shí)要求參數(shù)經(jīng)常變化,如果每次去修改就會(huì)變得很繁瑣,這時(shí)候就需要把經(jīng)常變化的值改變?yōu)樘崆熬庉嫼玫奈臋n或函數(shù)中,便于調(diào)用時(shí)使用不同的值。
Jmeter參數(shù)化的方式有三種:
1)用戶定義的變量(這種就是為了方便管理參數(shù),只能有一個(gè)值,比如說(shuō)ip地址不經(jīng)常變化的)。
在線程組中添加一個(gè)用戶定義的變量,然后寫key和value就可以了,key就是這個(gè)參數(shù)的名稱,也就是你在腳本里面取的值,value就是具體值了。在取參數(shù)化的值的時(shí)候,使用${name}這樣去取值,name就是你取的變量名稱。
在腳本中獲取參數(shù)化的值
2)函數(shù)生成器(函數(shù)生成器可以參照一定的規(guī)則生成數(shù)據(jù),這樣的比如說(shuō)生成一些隨機(jī)數(shù))。
函數(shù)助手的話,可以按照規(guī)則生成一些參數(shù),比如說(shuō)隨機(jī)數(shù)取當(dāng)前時(shí)間,最常用的就是這兩種。
隨機(jī)數(shù)__Random,可以在你指定的一個(gè)范圍內(nèi)取隨機(jī)值
取當(dāng)前時(shí)間__time,如果在有一些需要傳時(shí)間的情況下可以使用,日期格式是:yyyy-MM-dd HH:mm:ss 年-月-日-小時(shí):分鐘:秒
取唯一id,__UUID,這個(gè)就是每次會(huì)生成一個(gè)隨機(jī)的uuid,都是唯一的。
利用函數(shù)助手可以按照規(guī)則生成一些參數(shù)。
3)從文件中讀?。ㄎ募x取就是事先寫好一些數(shù)據(jù),然后從文件中讀取,這樣的話,比如說(shuō)登錄接口,賬號(hào)和密碼都是我們事先注冊(cè)好的)
從文件中讀取的有3個(gè)步驟:
1、讀取文件
2、取文件內(nèi)容里面的參數(shù),給它一個(gè)名字
3、使用值(從文件讀取的話,需要在線程組里面添加一個(gè)CSV Data Set Config,它就是做前面兩步的操作的)。
4、jmeter斷言
斷言的作用是用來(lái)查看返回結(jié)果是否正確,如果正確就代表這個(gè)請(qǐng)求的返回值是正確的,如果沒有的話就代表這個(gè)請(qǐng)求的結(jié)果和我們預(yù)期的不一致,這樣我們就可以通斷言來(lái)檢查返回結(jié)果,測(cè)試是否通過(guò)。
5、jmeter關(guān)聯(lián)
關(guān)聯(lián)作用是由于后面操作需要用到前面服務(wù)器返回的結(jié)果,所以將該值保存?zhèn)鬟f過(guò)來(lái)以便使用。
Jmeter中的關(guān)聯(lián)一般通過(guò)正則表達(dá)式提取器來(lái)完成(如果有特殊的jar包也可)
關(guān)聯(lián)的值在其他請(qǐng)求引用時(shí),直接使用${name}即可,name就是你關(guān)聯(lián)的時(shí)候設(shè)置的變量名。
6、jmeter操作數(shù)據(jù)庫(kù)mysql
操作數(shù)據(jù)庫(kù)的步驟:
1. 導(dǎo)入jdbc的jar包,因?yàn)閖meter本身不能直接連接mysql,所以需要導(dǎo)入第三方的jar包,來(lái)連接mysql。
2、創(chuàng)建數(shù)據(jù)庫(kù)連接配置,mysql的url、端口號(hào)、賬號(hào)、密碼
3、寫sql,執(zhí)行sql
4、查看結(jié)果
Jmeter導(dǎo)入jdbcjar包
配置mysql連接
(1)添加一個(gè)JDBC Connection Configuration
(2)配置mysql連接池的名稱,后面發(fā)sql請(qǐng)求的時(shí)候指定連接哪里
(3)數(shù)據(jù)庫(kù)的url:jdbc:mysql://192.168.1.116:3307/bugfree?allowMultiQueries=true
(4)數(shù)據(jù)庫(kù)驅(qū)動(dòng):這里就是指定連接什么類型的數(shù)據(jù)庫(kù),mysql、oracle、SqlServer等等
(5)賬號(hào)密碼
Jmeter執(zhí)行sql
查看sql結(jié)果
7、Linux下運(yùn)行jmeter壓測(cè)
我們?cè)谧鰷y(cè)試的時(shí)候,有時(shí)候要運(yùn)行很久,公司用的測(cè)試服務(wù)器一般都是linux,就可以運(yùn)行在linux下面,linux下面不能像windows一樣有圖形化界面,那怎么運(yùn)行腳本呢,就先在windows上把腳本做好,然后在linux下運(yùn)行即可,linux下運(yùn)行jmeter是在jmeter的bin目錄下的jmeter.sh這個(gè)shell腳本。
sh jmeter.sh -n –t a.jmx -l res.jtl
-n代表以沒有圖形化界面啟動(dòng),-t代表后面是測(cè)試腳本,a.jmx也就是我們做好的jmeter腳本,-l代表測(cè)試結(jié)果 res.jtl就是測(cè)試結(jié)果文件,查看結(jié)果的話,在查看結(jié)果樹視圖中導(dǎo)入這個(gè)res.jtl就可以查看到測(cè)試結(jié)果了
8、jmeter添加負(fù)載機(jī)
我們?cè)趬簻y(cè)的時(shí)候,可能并發(fā)比較大, 一臺(tái)機(jī)子已經(jīng)啟動(dòng)不了那么多并發(fā)了,這個(gè)時(shí)候我們就要使用多臺(tái)機(jī)子一起來(lái)發(fā)壓力,就要添加壓力機(jī),添加壓力機(jī)怎么添加呢,首先要在做壓力機(jī)的機(jī)子上啟動(dòng)jmeter的代理,然后做為控制機(jī)的機(jī)子上添加上壓力機(jī)的ip即可。
Jmeter的bin目錄下有一個(gè)jmeter-server,啟動(dòng)它即可,windows機(jī)子作為壓力機(jī)的話,運(yùn)行jmeter-sever.bat,linux作為壓力機(jī)的話,運(yùn)行jmeter-server。
然后在作為控制機(jī)的jmeter配置文件里添加壓力機(jī)ip即可,jmeter的配置文件在bin目錄下jmeter.properties,添加壓力機(jī)的時(shí)候,在配置文件里面找到remote_hosts添加ip,然后重啟jmeter就可以看到遠(yuǎn)程壓力機(jī)了
jmeter 添加壓力機(jī):
1、先在其他的負(fù)載機(jī)(另外的電腦)上啟動(dòng)jmeter-server(jmeter-server.bat windows) (jmeter-server.sh mac、linux)主控機(jī)和負(fù)載機(jī)
2、修改主控機(jī)jmeter的配置文件,找到remot_hosts,然后把負(fù)載機(jī)的ip加入到里面就好了remot_hosts=127.0.0.1,192.168.1.2:1099,192.168.1.3:1099默認(rèn)jmeter-server的端口號(hào)是1099,如果說(shuō)負(fù)載機(jī)上的端口號(hào)改了,那么你在這里也得改
3、啟動(dòng)時(shí)候要選擇遠(yuǎn)程全部運(yùn)行ps:如果有參數(shù)化文件,那么在負(fù)載機(jī)同樣的位置上也得有一個(gè)參數(shù)化文件。
以上就是使用Jmeter進(jìn)行http接口測(cè)試的詳細(xì)流程的詳細(xì)內(nèi)容,更多關(guān)于Jmeter進(jìn)行http接口測(cè)試的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
eclipse創(chuàng)建項(xiàng)目沒有dynamic web的解決方法
最近上課要用到eclipse,要用到Dynamic web project.但是我下載的版本上沒有.接下來(lái)就帶大家了解 eclipse創(chuàng)建項(xiàng)目沒有dynamic web的解決方法,文中有非常詳細(xì)的圖文示例,需要的朋友可以參考下2021-06-06IDEA中調(diào)用方法時(shí),如何同步顯示方法的注釋信息
這篇文章主要介紹了IDEA中調(diào)用方法時(shí),如何同步顯示方法的注釋信息問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-03-03Java中try-catch-finally執(zhí)行順序你知道嗎
本文主要介紹了try-catch-finally執(zhí)行順序你知道嗎,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06