jmeter 讀取多個用戶名並同時發


 在運營活動測試過程中,經常需要對秒殺活動或定時抽獎活動進行並發測試。那么怎樣快速便捷的模擬多用戶同時參與活動,抽取獎品,進行並發測試呢?尤其是,當獎品總數N<用戶總數M時,代碼是否會存在獎品多發給用戶,導致獎品剩余總數出現負數的嚴重bug?

        下面介紹使用輕量級開源測試工具Jmeter進行並發測試的方法——巧用集合點

        以總產品數為3,模擬多用戶(5個用戶)同時進行抽獎並發測試為例,進行介紹。

        思路:首先在運營后台配置產品總數為3,其次模擬多用戶登陸,最后通過設置集合點的方式,模擬多用戶同時進行抽獎並發測試。

        下面進行詳細介紹。

        一、模擬多用戶登錄

        1、准備M個用戶登錄數據,將數據保存到data.txt文件中,如下所示:

 
 

        2、將登陸接口參數化

        通過添加CSV Data Set Config,將登陸接口參數化。如下圖所示:

 
 

        設置好上述步驟后,再在登陸接口中引用手機號和密碼變量:${mobileNo},${passWord},如下圖所示:

 
 

 

二、在抽獎接口前設置集合點

        性能測試中經常要進行多用戶並發測試,但真正的並發是不存在的,為更真實的模擬並發,可以在並發測試的接口前設置集合點。在本次示例中,當所有的虛擬用戶登陸之后,都相互等待,然后一起訪問抽獎接口。設置集合點的方法如下:

        1、在剛剛創建的腳本中,右鍵點擊 線程組---->定時器---->Synchronizing Timer,如下圖所示:

 
 

        2、將抽獎接口移至集合點下,並在集合點中設置多少個用戶同時訪問

        本次示例中,設置為5個用戶並發訪問,如下圖所示:

 
 

        注意,若設置5個用戶並發訪問時,需在線程組中設定,用於模擬多用戶同時測試的線程數為5個。如果線程數達不到集合點設置的數,JMeter會一直不動,一直在等待達到設定的集合數到來。

        添加完成之后,線程組線程數設定,如下所示:

 
 

        集合點用戶數設定如下圖:

 
 

        以上步驟都設置完成后,執行結果,結果展示中,第一個用戶抽獎時間為:2016-12-15 08:19:30,如下圖:

 
 

        第二個、第三個用戶抽獎時間都為:2016-12-15 08:19:30,如下圖所示:

 
 

        至此,已達到多用戶同時抽獎並發測試的目的。


使用非gui操作

jmeter -n -t admin.jmx -l test.jtl -e -o test_report

-e -o output,指的是在out文件下生成html報告

 

進入out文件夾,就能看到我們生成的html報告了:



轉自:https://www.jianshu.com/p/088616023ecd


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM