JMeter筆記:前置處理器-BeanShell預處理程序


本篇用個簡單的例子記錄下前置處理器-BeanShell預處理程序的用法。

 

測試流程

1、請求userInfo接口,接口會返回多個user信息,我們需要用返回結果中提取全部userName。

userInfo接口返回參數格式如下:

{
    "code":"0",
    "message":"success",
    "data":[
        {
            "id":0,
            "userName":"用戶0",
            "password":null,
            "age":0,
            "gender":0,
            "phoneNum":"13788881111",
            "email":"test@123.com",
            "address":"蘇州市蘇州中心",
            "createTime":"2022-03-06T03:24:19.701+0000",
            "updateTime":"2022-03-06T03:24:19.701+0000"
        },
        {
            "id":1,
            "userName":"用戶1",
            "password":null,
            "age":79,
            "gender":0,
            "phoneNum":"13788881039",
            "email":"test@123.com",
            "address":"蘇州市蘇州中心",
            "createTime":"2022-03-06T03:24:19.701+0000",
            "updateTime":"2022-03-06T03:24:19.701+0000"
        }
    ]
}

2、將第一步獲取的userName遍歷登錄login一遍,需要替換請求參數中的userName值。

login接口請求參數如下:

{
    "userName": "admin",
    "password": 123456
}

 

 腳本編寫

1、userInfo接口下添加json提取器來提取userName,同時添加調試取樣器方便查看取樣變量值

 

2、運行腳本,查看結果樹,查看調試取樣器的響應結果

 

 從取樣器結果來看,userName取出來10個值,userName_matchNr=10且變量名分別為userName_1、userName_2、userName_3......userName_10

 

3、添加循環控制器,循環控制器下添加login請求
循環次數填寫變量名${userName_matchNr},不管userInfo接口返回多少個用戶信息,保證每個用戶登錄一次。

 

4、從第2步調試取樣器的結果來看,腳本運行的時候我們需要用userName_1、userName_2、userName_3......userName_10替換下login請求參數中userName。

這時候我們就需要添加前置處理器,這里添加BeanShell預處理如下:

 

5、運行腳本,結果如下,userInfo接口返回10個用戶數據,login用這10個用戶名依次請求login接口

 


免責聲明!

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



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