前面兩篇我寫了一些理論和一篇實戰篇,不知道各位是否能理解,本章我們來講講一些其他的一些操作,
博主在這里說明一下,介面是免費的,不過需要自己注冊,如自己有介面的可以跟著教學一步步來,沒有的可以考慮考慮加博主微信qing_an_an,與大伙一起學習,絕對不是廣告,都是經過篩選才能加入,抱有一顆學習的心,有資源大家一起分享,有興趣的可以來看看,
jmeter的簡單理論
jmeter--實戰篇
本篇沒有什么特別特殊的東西,只是一些比較常用,實用的一些東西,像輸出測驗報告,斷言等等,介面的鏈接在jmeter--實戰篇里面,自提吧,
斷言
我們先來了解一下jmeter斷言:
jmeter默認規則,只要能夠正常請求,且正常回傳,他都默認為成功,斷言機制,是我們能否自動化的核心標準,我們在加入斷言機制后,不需要人工比對回應內容,減少認為作業,
接著上一章所講,我們簡單的做一個斷言,先來看看上一章jmeter回應的內容是什么,

這里回應資料還挺多,我們隨意,隨性一點,作業可不能隨性,注意哈,博主不想帶偏你們,我們在這里直接斷言“city”:“深圳”,看看有什么樣的效果,

首先我們添加一個JSON提取器,這里是在后置處理器中添加的,為什么是在后置處理器中,講個說笑的,你可以去前置處理器中看看有沒有,只有跑了HTTP請求后才能拿到資料,這一點毋庸置疑的,如果你在前面添加了,那豈不是添加了一個空氣,
為什么要添加一個JSON處理器,這一點,因為回傳值中就是JSON格式的,所以是JSON處理器,最簡單直白的解釋了,

添加JSON提取器后,打開就是這樣的了,names of created variables簡單的理解就是你要斷言的值是哪一個,JSON Path expressions就是運算式,${}這樣的取值方式,記住即可,

我們運算式里面提取的就是我們回應里面的city值,我們提取的值,那么肯定是要斷言的,呢么我們添加一個JSON斷言,

添加斷言后,我們直接雙擊打開

Assert JSON Path expressions,我們添加之前的斷言運算式到里面,這里系統默認是勾選下面的Match as regular expreesion,匹配正則運算式,我們自己還可以另外勾選上面的添加斷言的對比值,也就是Addtionally assert value,在內容框中輸入一個斷言的對比值,

這里可以看到我在深圳的HTTP請求中,添加這個一個斷言,肯定會報錯,這里我寫入一個上海,在發送請求后,jmeter會進行判定,如果不是city不是上海則報錯,如果是上海則pass,

看結果,我寫的斷言是內容是上海,這里跑出來的是深圳,所以HTTP請求報錯了,并且給出了明確的提示,是不是超級的nice,資訊挺詳細,
一次查詢多地天氣
這里是一個非常有趣的東西,我們直接上教程,在jmeter中跑檔案,查看多處的天氣,

準備一個csv檔案,輸入多個地區名,包括小地區,看看會是怎么樣的一個情況,
我們需要添加一個回圈控制器,來控制它回圈的次數,也就是csv檔案中有多少條資料,我們就需要回圈多少次,

回圈控制器之前我添加了一個用戶自定義變數,便于更改地址,


前面我添加了五條資料,所以這我回圈五次,

另外需要添加一個csv處理器


添加好csv檔案處理器后,我們直接設定HTTP請求,

添加一行資料,用運算式取值,這里很多人看到了不一樣的地方了,就是我的ip跟埠號都不一樣了,用的運算式方式了,前面才說了用了用戶自定義變數的方式,有益于后續更改地址的時候方便改值,你可以直接把路徑一起到用戶自定義里面去,
我在HTTP名稱那里也加了運算式,目的就是便于看懂那個請求是哪個請求,我們直接看結果
跑起來:

這個介面存在bug,這也是我跑的程序中發現了,不知道各位有沒有發現,
另外看HTTP加運算式,就能得到這樣的結果,每一個請求后面都有對應的名字,
小結
我們用到的運算式,也就是變數,有什么好處?
內容中只說到了一點點,變數可以一個場景多組變數調動,也方便我們更改變數值后直接發起下一波的請求,而不是改完這里接著改下一處,可以隨時應對環境的變化,而csv檔案這一塊,也就是上文中我們講到的讀取多處天氣情況,必須用到回圈處理器,不然就只能讀取到檔案中第一個位置的天氣情況,
報告
這里的報告,和其他的地方不一樣雖然也是自動生成的,生成jmeter的測驗報告就一串代碼
D:\Jmeter\apache-jmeter-5.3\bin\jmeter -n -t report_login.jmx -l result.jtl -e -o F:\jmeter報告\public\report
# D:\Jmeter\apache-jmeter-5.3\bin\jmeter --這里是jmeter的位置
# F:\jmeter報告\public\report --這里是檔案的位置,檔案夾名字隨意
# report_login.jmx 這個是跑完后的事件
那么其他的-n,-t等啥意思呢:
-n 以非GUI方式運行Jmeter
-t 獲取我們的jmx腳本路徑
-e 腳本運行結果后 生成html報告
-o 存放html報告目錄
result.jtl 檔案保存路徑(運行結果),此檔案必須不存在
比如我創建 的,我需要在F:\jmeter報告\public目錄下cmd進去再輸入這一串代碼,也就是需要切換到這對應的檔案夾中去,

這就是生成的報告HTML形式的,
注:如有想法,歡迎一起來交流,非機構人員,群成員較少,只留有上進心的人員,大佬,剛入門的都有,微信號卸載了文章開頭處,有興趣的歡迎加入
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/300516.html
標籤:其他
下一篇:Python中的回圈結構
