一、使用jmeter來發(fā)送gzip數(shù)據(jù)
有時候我們需要模擬在客戶端將數(shù)據(jù)壓縮后, 發(fā)送(post)到服務(wù)器端. 通常這種情況,會發(fā)生在移動終端上. 這樣做的好處, 是可以節(jié)省流量. ?當(dāng)然, 服務(wù)器返回的數(shù)據(jù)也可以是gzip格式, 終端在數(shù)據(jù)展現(xiàn)時,需要先解壓縮. 同樣也是為了節(jié)省網(wǎng)絡(luò)流量.
1. 首先我們把要post的數(shù)據(jù), 保存在文本文件里,然后gzip壓縮. (可以使用linux中的gzip命令)
2. 在jmeter的http sample里, 使用"同時發(fā)送文件數(shù)據(jù)"的方式,選中g(shù)zip壓縮后的文件, 并將mime類型,選擇gzip.
3. ?添加一個http header manager, 并加入如下頭參數(shù).
content-type:x-application/x-gzip
content-encoding:gzip
4. 如果需要允許服務(wù)器返回gzip格式的內(nèi)容,則需要添加http header ,? accept-encoding:gzip .
二医吊、使用jmeter來發(fā)送json格式數(shù)據(jù)
1. header-manager 修改content-type值既绩。
如果不修改該值, 則默認(rèn)會是urlencode的數(shù)據(jù)格式(例如a=5&b=6)。
修改為json后御滩,會告訴服務(wù)器,發(fā)送的數(shù)據(jù)為application/json格式數(shù)據(jù)。防止服務(wù)器對數(shù)據(jù)類型做強制校驗榨崩。
2. 添加一個http request 請求sample, 這樣根據(jù)圖實例進行配置章母,便可以輕松的實現(xiàn)發(fā)送json格式的數(shù)據(jù)母蛛。
其實還是用的post 方式發(fā)送參數(shù), 只是參數(shù)的名稱為空乳怎, value值是你要post的json字符串彩郊。
ps:較新版本中的jmeter的http sampler(http請求采樣器)已經(jīng)有一個post body的標(biāo)簽, 可以直接填寫post body值即可.例如下面的這張圖. ?其實他和第二步中的設(shè)置內(nèi)容是一致的.