日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jmeter控制器--if控制器

發布時間:2024/4/15 编程问答 63 豆豆
生活随笔 收集整理的這篇文章主要介紹了 jmeter控制器--if控制器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、背景

在實際工作中,當使用Jmeter做性能腳本或者接口腳本時,有可能會遇到需要對不同的條件做不同的操作,基于這種訴求,在Jmeter中可使用if控制器來實現

 作用:根據給定表達式的值決定是否執行該節點下的子節點,默認使用javascript的語法進行判斷(如下圖紅框內的文字)。

二、實際操作

邏輯控制器位置:

  在線程組下,執行:添加? ---->> 邏輯控制器 ---->> 如果(If)控制器

例如:要實現登錄成功后進行其他操作,登錄是否成功用正則表達式獲取token來判斷

那么看下if控制器,

參數:

  • Interpret Condition as Variable Expression?:選中這一項時表示:判斷變量值是否等于字符串true(不區分大小寫)
  • Evaluate for all children:如果選中這一項,在每個子結點執行前都會計算表達式?

示例一:使用表達式的方式進行判斷:

if控制器判斷的寫法是 “”“變量”=="值" 這樣的寫法,if控制器下有個選項是Interpret Condition as Variable Expression?翻譯過來意思是將條件解釋為變量表達式?

if邏輯控制器控件中最重要就是Expression(must evaluate true or false)輸入框,此處需要寫入需要進行判斷的表達式,從must evaluate true or false可知,實際使用時,只能填入true或者false這樣的值,因此我們需要借助其他模塊或者函數將需要進行判斷的表達式(如 ${var}== 5)轉換成true或false,判斷才能生效,直接將${var}== 5這樣的表達式寫入Expression中是無效的。

從該控制器提示的信息中,可以借助__jexl3或者__groovy函數來計算表達式的值,這樣著重介紹下__jexl3在 if控制器中的使用。

jexl全稱:Jakarta Commons Jexl,是一種表達式語言(Java Expression Language)解釋器。

JEXL Expression to evaluate:此處直接填寫需要進行判斷的表達式即可

表達式支持:

==?  是否等于,如${__jexl3(${VAR}==1,)},判斷${VAR}變量是否等于1

!=  不等于,如${__jexl3(${VAR}!=1,)},判斷${VAR}變量是否不等于1

!  非,如${__jexl3(!(${VAR}!=1),)}對${VAR}!=1的結果取反

&&或||  且與或,如? ${__jexl3(${VAR}==1 && ${name} != "heima",)}

> 或者>==? ?大于等于,如${__jexl3(${count}>=10,)}

?

那么此處判斷的條件是token不等于0,填入if控制器中,執行

執行結果通過。

ps: 也可以使用用戶自定義變量的方式,直接設置變量的值為true,也 可以進入if控制器

?

?

?

?示例二:使用JavaScript進行條件解釋

不勾選Interpret Condition as Variable Expression?選項,設置條件為token不等于0 ,進行執行

?

?

最后執行成功。

轉載于:https://www.cnblogs.com/gezirui/p/9618411.html

超強干貨來襲 云風專訪:近40年碼齡,通宵達旦的技術人生

總結

以上是生活随笔為你收集整理的jmeter控制器--if控制器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。