一. 背景
瀾滄ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!數(shù)據(jù)驅(qū)動(dòng)Data Driven Testing(DDT),是一種用于創(chuàng)建自動(dòng)化測(cè)試的方法,或者說是一種架構(gòu), 本質(zhì)是輸入數(shù)據(jù)和用這些數(shù)據(jù)獲取測(cè)試結(jié)果, 使測(cè)試邏輯和測(cè)試數(shù)據(jù)分離.
DDT的優(yōu)點(diǎn)是測(cè)試工程師不必為每一個(gè)輸入數(shù)據(jù)創(chuàng)建一個(gè)單獨(dú)的測(cè)試用例, 測(cè)試在一個(gè)實(shí)例中創(chuàng)建, 并且輸入測(cè)試數(shù)據(jù)和預(yù)期結(jié)果在表格文件中獲取.
二. Jmeter 數(shù)據(jù)驅(qū)動(dòng)
首先創(chuàng)建url.csv文件作為輸入測(cè)試數(shù)據(jù), 內(nèi)容如下:
以上內(nèi)容保存退出后也可以用文本編輯器編輯, 注意標(biāo)點(diǎn)符號(hào)
我是mac os, 保存目錄為/Users/louiezhou/home/url.csv
csv數(shù)據(jù)設(shè)置文件中要用到這個(gè)路徑
被測(cè)接口如下:
get方法:?https://postman-echo.com/get?foo1=bar1??
get方法:?https://postman-echo.com/get?foo2=bar2
post方法:?https://postman-echo.com/post? 入?yún)"foo1":"bar1","foo2":"bar2"}
API文檔來源:?https://docs.postman-echo.com/?version=latest#078883ea-ac9e-842e-8f41-784b59a33722
接下來到j(luò)meter里, 首先創(chuàng)建一個(gè)線程組
在該線程組下創(chuàng)建一個(gè)普通http請(qǐng)求, 命名為postman-echo_header, 用于和數(shù)據(jù)驅(qū)動(dòng)比較
添加一個(gè)循環(huán)控制器
循環(huán)數(shù)量和數(shù)據(jù)表格文件中用例數(shù)量推薦保持一致.
在循環(huán)控制器下添加csv 數(shù)據(jù)文件設(shè)置
在循環(huán)控制器下添加if 控制器,命名為if_get
jmeter 5.0 + 版本, if控制器和old version 略有不同.
此處添加if主要是判斷如果是get方法就走這個(gè)if_get控制器, 如果是post方法, 就走if_post控制器.
在if_get控制器下添加一個(gè)http請(qǐng)求
命名規(guī)則為: ${caseSeq}_${apiSeq}_${apiName}
用例編號(hào)_API版本_API名稱, 這樣命名更為直觀,便于理解
${apiType} =https 為API請(qǐng)求協(xié)議
${host} =postman-echo.com? 在用戶自定義變量中定義
${url}=/get
${param}=? foo1=bar1
拼接完整的是: https://postman-echo.com/get?foo1=bar1??
再來看if控制器的if_post
仍然是在循環(huán)控制器下新建一個(gè)if控制器,命名為if_post
在if_post下新建一個(gè)http請(qǐng)求, 命名規(guī)則同if_get下http一致
${param}={“foo1”:”bar1”, “foo2”:”bar2”}
拼接完整的請(qǐng)求是:
https://postman-echo.com/post
POST data:
{"foo1":"bar1","foo2":"bar2"}
因?yàn)槭莗ost方式, 入?yún)⒎绞脚cget有所區(qū)別, 因此還需要在該http下聲明一個(gè)http信息管理頭
主流程到這里就完成了, 接下來看下零碎的地方
給每個(gè)http請(qǐng)求加上斷言
雖然他們的預(yù)期值都是變量${expectValue}, 但實(shí)際值是不同的
用例C001的預(yù)期值:${expectValue}: foo1=bar1
用例C002的預(yù)期值${expectValue}:foo2=bar2
用例C003的預(yù)期值${expectValue}: {“foo1”:”bar1”,”foo2”:”bar2”}
再來看下用戶自定義變量
目錄層級(jí)結(jié)構(gòu)
添加相應(yīng)的監(jiān)聽即可執(zhí)行了.
接下來看執(zhí)行結(jié)果
在數(shù)據(jù)表格文件中還有些參數(shù)沒有用到, 比如priority字段, 可以根據(jù)需求適當(dāng)添加相應(yīng)判斷, 本篇幅僅為拋磚引玉, 如您有更好的idea, 歡迎拋過來.
最后來一碗雞湯:
你現(xiàn)在的生活水平,是你三年前的工作狀態(tài)決定的;而你現(xiàn)在的努力程度,會(huì)決定你三年后的生活;軟件行業(yè)是個(gè)逆水行舟,不進(jìn)則退的行業(yè),既然選擇了這個(gè)行業(yè),那么就要努力地“敲”下去。
今日精選推薦
JMeter接口測(cè)試-if控制器
JMeter數(shù)據(jù)庫(kù)操作
Jmeter接口測(cè)試-正則表達(dá)式
JMeter中文返回亂碼
Jmeter接口測(cè)試-參數(shù)化
JMeter接口測(cè)試-基礎(chǔ)
測(cè)試-感想
咨詢工作加微信
掃描二維碼
歡迎自薦和推薦, 需要的微信推送簡(jiǎn)歷!
請(qǐng)猛戳下面二維碼了解更多
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。