日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
JMeter內(nèi)置變量大揭秘:含義,用法和實例

在JMeter中,有一些內(nèi)置的變量,可以幫助我們在測試過程中存儲和使用一些數(shù)據(jù)。這些內(nèi)置變量有四種:vars,props,prev和sample。

vars變量

vars變量是JMeterVariables類的一個實例,它是一個Map類型的對象,可以存儲String或Object類型的數(shù)據(jù)。vars變量的作用域是當前線程組,也就是說,只有同一個線程組內(nèi)的線程才能訪問和修改同一個vars變量。如果不同的線程組需要共享數(shù)據(jù),就不能使用vars變量。

vars變量的使用方法很簡單,我們可以在BeanShell Sampler或JSR223 Sampler中使用以下語法來獲取和設(shè)置vars變量:

// JSR233  groovy 腳本
//獲取vars變量
String value = vars.get("key");
Object obj = vars.getObject("key");

//設(shè)置vars變量
vars.put("key", "value");
vars.putObject("key", new Object());

直接使用${key}來引用vars變量的值。

vars變量的一個常見用途是保存上一個請求的響應數(shù)據(jù),以便后續(xù)請求使用。例如,我們可以在 JSR233PostProcessor中使用以下代碼的一些實例:

又比如從 csv 文件中讀取數(shù)據(jù),并保存到一個list對象中:

然后從其他取樣器中使用這個對象:

props變量

props變量是JMeterProperties類的一個實例,它是一個Hashtable類型的對象,也可以存儲String或Object類型的數(shù)據(jù)。props變量的作用域是全局的,也就是說,所有的線程組都可以訪問和修改同一個props變量。如果不同的線程組需要共享數(shù)據(jù),就可以使用props變量。

props變量的使用方法和vars變量類似,我們可以在BeanShell Sampler或JSR223 Sampler中使用以下語法來獲取和設(shè)置props變量:

//獲取props變量
String value = props.get("key");
Object obj = props.get("key");

//設(shè)置props變量
props.put("key", "value");
props.put("key", new Object());

我們也可以在其他元件中使用${__P(key)}來引用props變量的值。

props變量的一個常見用途是保存一些全局配置參數(shù),例如服務(wù)器地址,端口號等。例如,我們可以在Test Plan中使用User Defined Variables元件來定義一些props變量:

然后,在其他地方,我們可以使用${__P(server)}來引用服務(wù)器地址。

prev變量

prev變量是SampleResult類的一個實例,它是一個對象,可以存儲上一個請求(或者說上一個取樣器)的結(jié)果信息。prev變量的作用域是當前線程組,并且只能在后置處理器(PostProcessor)或斷言(Assertion)中使用。

prev變量的使用方法是在BeanShell PostProcessor或JSR223 PostProcessor中使用以下語法來獲取prev變量:

SampleResult prev = ctx.getPreviousResult();

然后,我們可以調(diào)用prev對象的各種方法來獲取結(jié)果信息,例如:

prev變量的一個常見用途是對上一個請求的結(jié)果進行處理或判斷。例如,我們可以在BeanShell Assertion中使用以下代碼來判斷響應碼是否為200:

SampleResult prev = ctx.getPreviousResult();
if (!"200".equals(prev.getResponseCode())) {
    AssertionResult result = new AssertionResult("檢查檢查狀態(tài)碼");
    result.setFailure(true);
    result.setFailureMessage("響應狀態(tài)碼鬼知道是啥,反正不是 200");
    prev.addAssertionResult(result);
    prev.setSuccessful(false);
}

當前了,你要是直接在jsr233或者beanshell中直接如下那樣寫,也不會出現(xiàn)錯誤,也能直接使用。

//jsr233 中的代碼
def responseCode = prev.getResponseCode();

sample變量

sample變量是SampleEvent類的一個實例,它是一個對象,可以存儲當前請求(或者說當前取樣器)的事件信息。sample變量的作用域是當前線程組,能在監(jiān)聽器(Listener)中使用。

sample變量的使用方法是在BeanShell Listener或JSR223 Listener中使用以下語法來獲取sample變量:

SampleEvent sample = ctx.getCurrentSampleEvent();

然后,我們可以調(diào)用sample對象的各種方法來獲取事件信息,例如:

//獲取取樣器結(jié)果
SampleResult result = sample.getResult();
//獲取線程名稱
String threadName = sample.getThreadName();
//獲取線程組名稱
String threadGroupName = sample.getThreadGroup();
//獲取主機名稱
String hostName = sample.getHostname();

sample變量的一個常見用途是對當前請求的事件進行處理或記錄。例如,我們可以在BeanShell Listener中使用以下代碼來打印事件信息:

SampleEvent sample = ctx.getCurrentSampleEvent();
log.info("Thread name: " + sample.getThreadName());
log.info("Thread group: " + sample.getThreadGroup());
log.info("Host name: " + sample.getHostname());
log.info("Sampler name: " + sample.getResult().getSampleLabel());
log.info("Response time: " + sample.getResult().getTime());
log.info("Response code: " + sample.getResult().getResponseCode());
log.info("Response data: " + new String(sample.getResult().getResponseData()));

內(nèi)置變量的區(qū)別

從上面的介紹可以看出,JMeter內(nèi)置變量有以下幾個區(qū)別:

  • vars和props都是Map類型的對象,可以存儲和修改數(shù)據(jù);prev和sample都是普通對象,只能讀取數(shù)據(jù)。
  • vars和props都可以在任何地方引用;prev只能在后置處理器或斷言中引用;sample只能在監(jiān)聽器中引用。
  • vars和props都需要手動設(shè)置和獲取;prev和sample都由JMeter自動提供。
  • vars只能在當前線程組內(nèi)共享;props可以跨線程組共享;prev和sample只能在當前線程內(nèi)訪問。
  • vars和props都只能存儲String或Object類型;prev和sample都包含多種類型的數(shù)據(jù)。

內(nèi)置變量的實際工作場景

來看一些實際工作場景:

場景一:我們需要模擬用戶上傳文件,并且每個用戶都要上傳不同的文件。這時候,我們就可以使用JSR223 PreProcessor元件來動態(tài)生成一個文件名,并將它保存到props變量中。然后,在上傳文件請求中,我們就可以使用${__P(filename)}來引用文件名。

//在JSR223 PreProcessor的代碼如下:
import java.util.UUID
//生成一個隨機的UUID作為文件名
String filename = UUID.randomUUID().toString() + ".txt"
//將文件名保存到props變量中
props.put("filename", filename)

場景二:我們需要對每個請求的響應時間進行判斷,如果超過了預期的時間,就要記錄下來。這時候,我們就可以使用JSR223 Assertion元件來獲取prev變量,并調(diào)用getTime()方法來獲取響應時間。然后,我們就可以使用if語句來判斷響應時間是否超過了預期,并使用log.info()方法來記錄日志。

//在JSR223 Assertion 中的代碼如下:
def prev = ctx.getPreviousResult()
//獲取響應時間
def responseTime = prev.getTime()
//設(shè)置預期時間為1000毫秒
def expectedTime = 1000
//判斷響應時間是否超過預期
if (responseTime > expectedTime) {
    // 這里建議將結(jié)果寫入 csv 以便持久化查看
    log.info("響應時間是:${responseTime} ms, 預期時間是:${expectedTime} ms")
}

場景三:我們需要對每個請求的響應數(shù)據(jù)進行處理,如果包含了某些關(guān)鍵字,就要提取出來,那么則如下:

//在JSR223 PostProcessor 中的代碼如下:
def prev = ctx.getPreviousResult()
def responseData = prev.getResponseDataAsString()
// 使用正則處理數(shù)據(jù)
def regex = /(.*?)<\/title>/
def matcher = regex.matcher(responseData)
if (matcher.find()) {
    def keyword = matcher.group(1)
    vars.put("keyword", keyword)
}
// 當然除了上述代碼外,也可以直接使用正則匹配元件去處理。</code></pre><p>場景四:我們需要對每個請求的事件信息進行記錄,例如線程名稱,線程組名稱,主機名稱等,那么則如下:</p><pre><code>//在JSR223 Listener 中的代碼
def sample = ctx.getCurrentSampleEvent()
def result = sample.getResult()
//打印事件信息到日志文件中,建議處理到csv(不過會有一點性能開銷)
log.info("線程名稱: " + sample.getThreadName())
log.info("線程組名: " + sample.getThreadGroup())
log.info("域名地址: " + sample.getHostname())
log.info("取樣器名: " + result.getSampleLabel())
log.info("響應時間: " + result.getTime())
log.info("響應編碼: " + result.getResponseCode())
log.info("響應數(shù)據(jù): " + new String(result.getResponseData()))</code></pre>                                                <br>
                                                網(wǎng)頁題目:JMeter內(nèi)置變量大揭秘:含義,用法和實例                                                <br>
                                                網(wǎng)頁網(wǎng)址:<a href="http://m.5511xx.com/article/dhipeih.html">http://m.5511xx.com/article/dhipeih.html</a>
                                            </div>
                                            <div   id="m2hxwe9"   class="hot_new">
                                                <div   id="wwv49n4"   class="page_title clearfix">
                                                    <h3>其他資訊</h3>
                                                </div>
                                                <div   id="ij9vuum"   class="news_list clearfix">
                                                    <ul>
                                                        <li>
                                                                <a href="/article/dhjjppe.html">GitHubCopilotX—基于GPT-4的全新智能編程助手</a>
                                                            </li><li>
                                                                <a href="/article/dhjjhss.html">如何查詢自己電腦的網(wǎng)域?(怎么查看域)</a>
                                                            </li><li>
                                                                <a href="/article/dhjjpgp.html">LinuxC文件操作之寫入文件詳解(linuxc寫入文件)</a>
                                                            </li><li>
                                                                <a href="/article/dhjjhoc.html">江蘇南通六建官網(wǎng)?(南通公司網(wǎng)站制作,公司網(wǎng)站制作需要多少錢)</a>
                                                            </li><li>
                                                                <a href="/article/dhjjhds.html">藍色怎么配色?(藍色怎么配色)</a>
                                                            </li>                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- 底部信息 -->
<div   id="f99ctai"   class="footer wow fadeInUp">
    <div   id="r9eduks"   class="rowFluid">
        <div   id="g7jkrjh"   class="span12">
            <div   id="rttjsay"   class="container">
                <div   id="t7g8yau"   class="footer_content">
                    <div   id="3pxfvlb"   class="span4 col-xm-12">
                        <div   id="9kjazam"   class="footer_list">
                            <div   id="op42pf7"   class="span6">
                                <div   id="yqqy3xr"   class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服務(wù)號二維碼" /></div>
                            </div>
                            <div   id="ldtsduk"   class="span6 col-xm-12">
                                <div   id="8tkzp8f"   class="quick_navigation">
                                    <div   id="lczbkak"   class="quick_navigation_title">快速導航</div>
                                    <ul>
                                        <li><a  title="西充網(wǎng)站制作公司" target="_blank">西充網(wǎng)站制作公司</a></li><li><a  title="名片設(shè)計" target="_blank">名片設(shè)計</a></li><li><a  title="郫縣明安消防器材" target="_blank">郫縣明安消防器材</a></li><li><a  title="成都LED發(fā)光字" target="_blank">成都LED發(fā)光字</a></li><li><a  title="合江網(wǎng)站制作公司" target="_blank">合江網(wǎng)站制作公司</a></li><li><a  title="微信開發(fā)" target="_blank">微信開發(fā)</a></li><li><a  title="夏季POLO衫" target="_blank">夏季POLO衫</a></li><li><a  title="fadianjizy.com" target="_blank">fadianjizy.com</a></li><li><a  title="成都柴油發(fā)電機組維修" target="_blank">成都柴油發(fā)電機組維修</a></li><li><a  title="佑馨產(chǎn)后護理" target="_blank">佑馨產(chǎn)后護理</a></li><li><a  title="成都發(fā)光字制作" target="_blank">成都發(fā)光字制作</a></li>                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div   id="w9fh8xm"   class="span4 col-xm-6 col-xs-12">
                        <div   id="uddmk72"   class="footer_list">
                            <div   id="ghpxgwn"   class="footer_link">
                                <div   id="kzuv4v6"   class="footer_link_title">友情鏈接</div>
                                <ul id="frientLinks">
                                    <a  title="網(wǎng)站制作" target="_blank">網(wǎng)站制作</a>
                                    <a  title="網(wǎng)站建設(shè)" target="_blank">網(wǎng)站建設(shè)</a>
                                    <a  title="成都網(wǎng)絡(luò)推廣" target="_blank">網(wǎng)絡(luò)推廣</a>
                                    <a  title="成都網(wǎng)站推廣" target="_blank">網(wǎng)站推廣</a>
                                    <a  title="成都微信小程序開發(fā)" target="_blank">小程序開發(fā)</a>
                                    <a  title="創(chuàng)新互聯(lián)網(wǎng)站欄目導航" target="_blank">網(wǎng)站導航</a>
                                </ul>
                                <div   id="elccb2t"   class="footer_link_title">網(wǎng)站建設(shè)</div>
                                <ul id="frientLinks">
                                    <li><a href="/">四川平武建站</a></li>
                                    <li><a  title="創(chuàng)新互聯(lián)網(wǎng)站欄目導航" target="_blank">網(wǎng)站導航</a></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                    <div   id="nnvmucv"   class="span4 col-xm-6 col-xs-12">
                        <div   id="ccatjra"   class="footer_list">
                            <div   id="hq3trh4"   class="footer_cotact">
                                <div   id="kcnnm4v"   class="footer_cotact_title">聯(lián)系方式</div>
                                <ul>
                                    <li><span id="bu4szgn"    class="footer_cotact_type">企業(yè):</span><span id="9sazh1r"    class="footer_cotact_content">四川綿陽平武網(wǎng)站建設(shè)工作室</span></li>
                                    <li><span id="aa4yo8l"    class="footer_cotact_type">地址:</span><span id="b7vmu89"    class="footer_cotact_content">成都市青羊區(qū)太升南路288號</span></li>
                                    <li><span id="uucs6n7"    class="footer_cotact_type">電話:</span><span id="fgo7jrp"    class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li>
                                    <li><span id="zj9gf33"    class="footer_cotact_type">網(wǎng)址:</span><span id="zzyweov"    class="footer_cotact_content"><a href="/" title="四川平武網(wǎng)站建設(shè)">m.5511xx.com</a></span></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div   id="8wmm7t1"   class="copyright">
                <p>公司名稱:四川綿陽平武網(wǎng)站建設(shè)工作室   聯(lián)系電話:18980820575</p>
                <p><a  target="_blank" rel="nofollow">網(wǎng)站備案號:蜀ICP備2024061352號-3</a></p>
                <p>四川平武建站 四川平武網(wǎng)站建設(shè) 四川平武網(wǎng)站設(shè)計 四川平武網(wǎng)站制作 <a  target="_blank">成都做網(wǎng)站</a></p>
            </div>
        </div>
    </div>
</div>

<footer>
<div class="friendship-link">
<p>感谢您访问我们的网站,您可能还对以下资源感兴趣:</p>
<a href="http://m.5511xx.com/" title="日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区">日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区</a>

<div class="friend-links">


</div>
</div>

</footer>


<script>
(function(){
    var bp = document.createElement('script');
    var curProtocol = window.location.protocol.split(':')[0];
    if (curProtocol === 'https') {
        bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';
    }
    else {
        bp.src = 'http://push.zhanzhang.baidu.com/push.js';
    }
    var s = document.getElementsByTagName("script")[0];
    s.parentNode.insertBefore(bp, s);
})();
</script>
</body><div id="8pfqs" class="pl_css_ganrao" style="display: none;"><form id="8pfqs"><legend id="8pfqs"><label id="8pfqs"></label></legend></form><strong id="8pfqs"><table id="8pfqs"><dd id="8pfqs"></dd></table></strong><center id="8pfqs"></center><pre id="8pfqs"><bdo id="8pfqs"><option id="8pfqs"></option></bdo></pre><legend id="8pfqs"></legend><sub id="8pfqs"></sub><nav id="8pfqs"></nav><th id="8pfqs"><span id="8pfqs"><i id="8pfqs"></i></span></th><tr id="8pfqs"></tr><cite id="8pfqs"><u id="8pfqs"><center id="8pfqs"></center></u></cite><source id="8pfqs"></source><div id="8pfqs"></div><nav id="8pfqs"></nav><center id="8pfqs"></center><bdo id="8pfqs"></bdo><tbody id="8pfqs"><meter id="8pfqs"><s id="8pfqs"></s></meter></tbody><option id="8pfqs"></option><dfn id="8pfqs"></dfn><strike id="8pfqs"></strike><style id="8pfqs"></style><table id="8pfqs"><dd id="8pfqs"><cite id="8pfqs"></cite></dd></table><dfn id="8pfqs"></dfn><nav id="8pfqs"><abbr id="8pfqs"><strike id="8pfqs"></strike></abbr></nav><dd id="8pfqs"></dd><th id="8pfqs"><cite id="8pfqs"><abbr id="8pfqs"></abbr></cite></th><legend id="8pfqs"></legend><table id="8pfqs"></table><label id="8pfqs"></label><b id="8pfqs"></b><address id="8pfqs"><cite id="8pfqs"><abbr id="8pfqs"></abbr></cite></address><tr id="8pfqs"></tr><nav id="8pfqs"><ruby id="8pfqs"><strike id="8pfqs"></strike></ruby></nav><listing id="8pfqs"></listing><div id="8pfqs"><menu id="8pfqs"><tr id="8pfqs"></tr></menu></div><legend id="8pfqs"></legend><tr id="8pfqs"></tr><abbr id="8pfqs"><strike id="8pfqs"><menu id="8pfqs"></menu></strike></abbr><code id="8pfqs"><small id="8pfqs"><wbr id="8pfqs"></wbr></small></code><i id="8pfqs"><em id="8pfqs"><pre id="8pfqs"></pre></em></i><tr id="8pfqs"></tr><b id="8pfqs"></b><rp id="8pfqs"></rp><menu id="8pfqs"></menu><b id="8pfqs"><strike id="8pfqs"><listing id="8pfqs"></listing></strike></b><strong id="8pfqs"></strong><th id="8pfqs"></th><tbody id="8pfqs"><i id="8pfqs"><track id="8pfqs"></track></i></tbody><wbr id="8pfqs"></wbr><meter id="8pfqs"><s id="8pfqs"></s></meter><small id="8pfqs"><p id="8pfqs"><dfn id="8pfqs"></dfn></p></small><i id="8pfqs"><tbody id="8pfqs"><pre id="8pfqs"></pre></tbody></i><source id="8pfqs"></source><span id="8pfqs"><code id="8pfqs"><em id="8pfqs"></em></code></span><track id="8pfqs"></track><strong id="8pfqs"></strong><progress id="8pfqs"></progress><p id="8pfqs"></p><abbr id="8pfqs"><center id="8pfqs"><fieldset id="8pfqs"></fieldset></center></abbr><menu id="8pfqs"><rp id="8pfqs"><th id="8pfqs"></th></rp></menu><small id="8pfqs"></small><strong id="8pfqs"></strong><ruby id="8pfqs"></ruby><form id="8pfqs"><address id="8pfqs"><cite id="8pfqs"></cite></address></form><fieldset id="8pfqs"><form id="8pfqs"><dd id="8pfqs"></dd></form></fieldset><cite id="8pfqs"><u id="8pfqs"><center id="8pfqs"></center></u></cite><table id="8pfqs"><dd id="8pfqs"><cite id="8pfqs"></cite></dd></table><tr id="8pfqs"></tr><cite id="8pfqs"></cite><tr id="8pfqs"><th id="8pfqs"><nav id="8pfqs"></nav></th></tr><dd id="8pfqs"><label id="8pfqs"><u id="8pfqs"></u></label></dd><abbr id="8pfqs"></abbr><center id="8pfqs"></center><sub id="8pfqs"><strike id="8pfqs"><table id="8pfqs"></table></strike></sub><menu id="8pfqs"><rp id="8pfqs"><th id="8pfqs"></th></rp></menu><center id="8pfqs"></center><listing id="8pfqs"></listing><bdo id="8pfqs"><b id="8pfqs"><source id="8pfqs"></source></b></bdo><table id="8pfqs"><dd id="8pfqs"><cite id="8pfqs"></cite></dd></table><meter id="8pfqs"><ol id="8pfqs"></ol></meter><ruby id="8pfqs"></ruby><b id="8pfqs"><tbody id="8pfqs"><code id="8pfqs"></code></tbody></b><dd id="8pfqs"></dd><dfn id="8pfqs"><option id="8pfqs"><strike id="8pfqs"></strike></option></dfn><tr id="8pfqs"></tr><source id="8pfqs"><i id="8pfqs"><em id="8pfqs"></em></i></source><fieldset id="8pfqs"><table id="8pfqs"><dd id="8pfqs"></dd></table></fieldset><nav id="8pfqs"><abbr id="8pfqs"><div id="8pfqs"></div></abbr></nav><table id="8pfqs"></table><abbr id="8pfqs"></abbr><tbody id="8pfqs"></tbody><listing id="8pfqs"><em id="8pfqs"><wbr id="8pfqs"></wbr></em></listing><strike id="8pfqs"></strike><s id="8pfqs"><th id="8pfqs"><tbody id="8pfqs"></tbody></th></s><label id="8pfqs"></label><source id="8pfqs"><i id="8pfqs"><em id="8pfqs"></em></i></source><dd id="8pfqs"><wbr id="8pfqs"><abbr id="8pfqs"></abbr></wbr></dd><th id="8pfqs"></th><fieldset id="8pfqs"><listing id="8pfqs"><dd id="8pfqs"></dd></listing></fieldset><center id="8pfqs"><source id="8pfqs"><table id="8pfqs"></table></source></center></div>
</html>