我的第一個Jmeter腳本 --BeanShell變量作為HTTP請求參數


  1. 這個簡單的腳本如圖

  2. 在BeanShell取樣器中完成加密加簽的腳本編寫(本來采用帶入jar包方式來直接傳參調用方法,但一直報錯,一個早上解決無果決定把整個腳本搬上來 = =)

    vars.put("outstring",outstring); -- 將腳本處理后的變量存到jmeter變量中,后面才可以使用
    //vars.put(String key,String value):數據存到jmeter變量中

  3. 因為所聲明的變量是json文本,一開始沒有添加消息頭管理器,請求失敗了

    然后去就學習了一下HTTP請求里的 參數消息體數據

    使用Body Data時,Content-Type可傳application/x-www-form-urlencoded或application/json,兩者的區別是數據格式不同。

    Jmeter的Parameters和Body Data兩種參數化方式,具體應該怎么使用呢?
    一般來說,Get請求用Parameters,Post請求用Body Data。

    精確的對於Post的說法是:
    -普通的post請求和上傳接口,選擇Parameters。
    -json和xml點數據格式請求接口,選擇Body。

    即,根據post請求數據的格式,分兩種情況:map格式、json格式。
    -post請求數據為map格式
    當post請求數據為map格式,即參數名、參數值為key-value鍵值對,請求的參數添加在Parameters參數表中即可,如下圖:

    -post請求數據為json格式
    目前階段比較流行的是json格式傳遞參數,使用jmeter時,將json格式的請求數據加入到http請求BodyData中
    另外,由於POST請求方式,如果不設置Headers的content-type,基本默認會以 application/x-www-form-urlencoded 方式提交數據。為了Post請求確保傳的是json格式,還需要在請求頭中聲明一下請求參數的格式為json,【就是沒做這步導致
    錯誤】具體操作如下:
    Thread Group右鍵Add --> Config Element --> HTTP Header Manager,打開HTTP信息頭管理器,Add一個Name為Content-Type,Value為application/json,如下圖:

  4. HTTP請求
    對應協議、IP、路徑等的配置,新手一開始踩的坑,簡單記錄一下

  5. 這就是我的第一個Jmeter腳本,雖然簡單但還是學習到了很多,記錄一下


免責聲明!

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



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