国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

jmeter web性能測試之用beanshell轉換全局變量

IT那活兒 / 2295人閱讀
jmeter web性能測試之用beanshell轉換全局變量

點擊上方“IT那活兒”,關注后了解更多精彩內容?。?!

背景


jmeter進行web性能測試,線程組內的變量只能在本線程組內被引用,但在遇到復雜的業務場景時,有時需要創建多個線程組,線程組之間需要共用變量,如登錄操作生成的token,這樣就需要將局部變量轉換為全局變量,在不同線程組中共用。

jmeter將局部變量轉換為全局變量,有兩種方式,一種利用Beanshell PostProcessor(Beanshell后置處理器),一種利用Beanshell Sampler(Beanshell取樣器)。


本例將登陸中獲取的動態token,轉換為全局變量,在其他線程組內使用。




    方式一


    利用BeanshellPostProcessor轉換全局變量

    step1 添加Boundary Extractor (邊界值提取器),獲取動態token:

    邊界值提取器和loadrunner中獲取關聯的左右邊界值類似,在獲取動態token值的請求上添加Boundary Extractor,填寫左右邊界值,提取動態token值。用正則表達式提取器也一樣,這里用邊界值提取器。
    • 添加Boundary Extractor:

    • 設置Boundary Extractor,獲取動態token:

    step2 添加Beanshell PostProcessor,將局部變量token轉換為全局變量。
    在token所在的線程組上添加Beanshell PostProcessor,在獲取token的請求下添加也可以,本例在線程組上添加。
    • 添加Beanshell PostProcessor:

    • 利用__setProperty()函數轉換:

    ${__setProperty(tokenG,${token},)}
    其中tokenG是轉換成全局變量后的新的變量名稱,將${token}的值賦給tokenG。
    step3 添加一個debug Sampler,驗證一下是否能成功獲取到token值。
    • 運行一下腳本,查看debug Sampler結果:

    step4 在其他線程組中引用該變量
    利用函數__P(),在其他線程組中就可以引用token值了。
    ${__P(tokenG,)}
    • 成功獲取動態token值:



    方式二


    利用Beanshell Sampler轉換全局變量
    step1 提取token值同上,添加Beanshell Sampler、轉換函數同Beanshell PostProcessor類似。
    • 添加Beanshell Sampler:
    • 利用__setProperty()函數轉換:

    step2 添加debug sampler驗證
    step3 在其他線程組中引用
    Beanshell Sampler引用全局變量的函數和BeanshellPostProcesser不一樣,利用函數__property()。
    ${__property(tokenG1)}
    • 成功獲取動態token值:


    新手注意

    • __setProperty()、__P()、__property()前面的下劃線是兩個下劃線,注意不要輸入一個下劃線,一個下劃線函數引用是不成功的。
    • 善于利用打印的日志來排查問題,就是右上角的黃色三角號,運行時會實時打印日志,在排查問題時很有用。
    • 用函數助手生成Beanshell轉換腳本時注意,jmeter5.3版本只有__property()函數,生成的轉換函數是${__property(newname,${oldname})},直接復制到Beanshell腳本里是報錯的。



    END



    更多精彩干貨分享

    點擊下方名片關注

    IT那活兒

    文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

    轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/129743.html

    相關文章

    • Jmeter跨線程組之間如何共有變量

      摘要:跨線程組之間變量不共享,即使在線程組最外層設置也不支持,解決方案通過后置處理器后置處理程序,將變量設置屬性變為全局的來解決通過后置處理器獲取正則表達式提取的變量值,處理器獲取提取的變量值有以下兩種寫法寫法一腳本內容寫如下代碼打印日志寫 1、跨線程組之間變量不共享,即使在線程組最外層設置也不支...

      不知名網友 評論0 收藏0
    • 如何使用 JMeter 實現 API 接口自動化測試?

      摘要:將響應斷言放入請求下,會對該請求調用的響應結果進行斷言。異步調用,等待一定時間后獲取調用結果數據某支持客戶進行異步調用,先發送一個異步請求提交數據獲取一個,然后隔一斷時間后再使用獲取到的請求上一個請求的返回結果需要用到定時器組件。 由于segmentfault編輯器上傳圖片錯誤,小編試過多種方式試圖拯救,還是未能成功,所以如要看完整文章請至http://t.cn/R8njjaT mia...

      joyvw 評論0 收藏0
    • Jmeter 使用實踐 - 接口 diff 測試

      摘要:大多數人都使用做過性能測試,但是在使用的過程中你會發現,它不僅可以做性能測試和功能測試,還能夠滿足基本的接口測試需求。此外,如有其他小伙伴發現了更好的一些針對測試的工具或方法,請多多指教。 大多數人都使用 Jmeter 做過性能測試,但是在使用的過程中你會發現,它不僅可以做性能測試和功能測試,還能夠滿足基本的接口測試需求。 相比其他工具,Jmeter 入門門檻較低,安裝也比較方便,根據...

      spademan 評論0 收藏0
    • 云智慧壓測實戰分享之JMeter工具使用初探

      摘要:有了測試腳本,通過線程組來模擬真實用戶對服務器的訪問壓力。不同的是,這些類型的線程執行測試結束后執行定期的線程組。線程組中包含的線程數量在測試執行過程中是不會發生改變的。邏輯控制器元件只對其子節點中的取樣器和邏輯控制器作用。 工欲善其事必先利其器,要保證移動應用產品在上線之后能穩定運行于各種復雜環境,僅僅進行功能測試是遠遠不夠的,壓力測試越來越被應用開發商所重視。而壓力測試從傳統的內部...

      venmos 評論0 收藏0
    • 不用寫代碼,也能做好接口測試

      摘要:接口測試形式單個接口測試包含性能測試和通過接口調用進行場景測試。充分來說就是接口測試相對容易實現自動化持續集成。 本文你將了解到 1、接口測試基本概念,包含什么是接口,什么是接口測試,為什么要做接口測試2、接口測試用例設計3、怎樣不用寫代碼,也能快速的根據開發的API文檔完成接口自動化測試腳本 注:如果你對接口基本概念和接口測試用例已熟悉,可以直接跳過,其實看一遍也無防,就當作 溫故知...

      idisfkj 評論0 收藏0

    發表評論

    0條評論

    IT那活兒

    |高級講師

    TA的文章

    閱讀更多
    最新活動
    閱讀需要支付1元查看
    <