包含內(nèi)容如下:
1. 訪問HTTPS膀钠;用戶登錄掏湾,獲取TGT和Ticket流程
2. Auth服務(wù)器,接口測試
3. 業(yè)務(wù)服務(wù)器肿嘲,接口測試 (公司使用了CAS認證融击,分開了cas服務(wù)器,auth服務(wù)器掌桩,業(yè)務(wù)服務(wù)器)
4. 使用CSV Data Set Config參數(shù)化接口入?yún)?/p>
5. 擴展(未完成):獲取數(shù)據(jù)庫數(shù)據(jù)作為入?yún)?br>
一躏救、訪問HTTPS堕油;用戶登錄,獲取TGT和Ticket流程
之前的文章里試過通過添加‘HTTP代理服務(wù)器’自動生成證書等操作訪問HTTPS拇涤,會有自動錄制請求的過程。后來發(fā)現(xiàn)是可以直接將待訪問服務(wù)器的證書導(dǎo)出crt格式誉结,轉(zhuǎn)成.store文件鹅士,并設(shè)置密碼,然后在JMeter的SSL管理器中進行添加惩坑。官方描述:
自己導(dǎo)入.store文件的操作參考:http://blog.csdn.net/fvafuc/article/details/49761237
然后:用戶登錄掉盅,獲取TGT和Ticket流程
操作基本與之前的文章‘Jmeter實踐02’中一致(http://www.reibang.com/p/7f88b2522ccf?)
不一樣的是:
1)因為項目中分Auth和業(yè)務(wù)(JustFit)兩個服務(wù)器,需要先分別獲取兩個服務(wù)器的Ticket(區(qū)分為authTicket和justfitTicket)以舒,在后面不同服務(wù)器接口請求中用到趾痘。
2)正則表達式提取器放到請求下面了,只針對對應(yīng)的請求進行提取
3)添加了僅一次控制器蔓钟。Ticket獲取后永票,在一定時間內(nèi)是一直有效的,不用重復(fù)獲取奋刽。也是就瓦侮,當(dāng)線程組循環(huán)次數(shù)設(shè)為多次時,獲取TGT和Ticket只用執(zhí)行一次就夠了佣谐。
(HTTP Cookie管理器這里其實不會用到肚吏,因為后面的接口直接用了Ticket值就可以。有一些Web請求是在登錄后Cookie中獲取用戶信息的狭魂,不用再次登錄罚攀。跟這里的Ticket原理一樣)
二党觅、Auth服務(wù)器,接口測試
接口測試就查看開發(fā)提供的接口文檔斋泄,去填寫路徑和參數(shù)就好了杯瞻。‘用戶資料查詢’接口用到authTicket炫掐,不需參數(shù)魁莉。
三、業(yè)務(wù)服務(wù)器募胃,接口測試
接口文檔中得知旗唁,業(yè)務(wù)接口都有一個公共請求頭信息。相當(dāng)于這個公共請求頭(request_header)+request_body封裝在HTTP請求的body中痹束。
‘版本升級檢查’除了公共請求頭外检疫,還需要提供升級的平臺platform信息。Body Data如圖所示祷嘶。
另外屎媳,接口定義統(tǒng)一以json文件體格式傳輸。需要在HTTP信息頭中加個Content-Type字段標(biāo)明:application/json;charset=UTF-8论巍。不然以默認的application/x-www-form-urlencoded會報錯烛谊。
四、使用CSV Data Set Config參數(shù)化接口入?yún)?/b>
‘體脂秤數(shù)據(jù)上傳’接口是上傳用戶的測量資料环壤,返回測脂結(jié)果晒来。圖中紅框部分是輸入具體的數(shù)值來進行單個接口測試的。當(dāng)要測試不同組合的入?yún)⑹遣皇欠祷卣_的結(jié)果時郑现,可以用到CSV Data Set Config將入?yún)奈谋咀x入湃崩,再用${}的方式進行引用。
這里設(shè)置了兩組數(shù)據(jù)進行測試接箫。線程組里將循環(huán)次數(shù)設(shè)置為2攒读。運行后可以看到該接口兩次的請求數(shù)據(jù)和返回信息都不一樣。
另外辛友,最后加了個全局響應(yīng)斷言(斷言根據(jù)接口返回信息的內(nèi)容去設(shè)計薄扁,可以使用響應(yīng)文本、代碼废累,包括或Equals去設(shè)置)
五邓梅、擴展: 獲取數(shù)據(jù)庫數(shù)據(jù)作為入?yún)?/b>
通過JDBC Connection Configuration和JDBC Request去實現(xiàn)。試了下登錄遠程服務(wù)器需要用戶名密碼邑滨,登入數(shù)據(jù)庫需要用戶名密碼日缨。JMeter只有輸入數(shù)據(jù)庫用戶名密碼的地方,所以在想掖看,是不是數(shù)據(jù)庫作為入?yún)r匣距,是需要JMeter在服務(wù)器上的面哥。另外,測試數(shù)據(jù)庫或者服務(wù)器壓力的時候毅待,應(yīng)該是JMeter安裝在服務(wù)器上從而避免網(wǎng)絡(luò)情況對響應(yīng)時間等指標(biāo)數(shù)據(jù)的影響尚卫。決定改天在自己電腦上建個數(shù)據(jù)庫,再試下尸红。
結(jié)束~