日韩无码专区无码一级三级片|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變量的作用域是當(dāng)前線程組,也就是說,只有同一個線程組內(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變量的一個常見用途是保存上一個請求的響應(yīng)數(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變量的作用域是當(dāng)前線程組,并且只能在后置處理器(PostProcessor)或斷言(Assertion)中使用。

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

SampleResult prev = ctx.getPreviousResult();

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

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

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

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

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

sample變量

sample變量是SampleEvent類的一個實例,它是一個對象,可以存儲當(dāng)前請求(或者說當(dāng)前取樣器)的事件信息。sample變量的作用域是當(dāng)前線程組,能在監(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變量的一個常見用途是對當(dāng)前請求的事件進行處理或記錄。例如,我們可以在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只能在當(dāng)前線程組內(nèi)共享;props可以跨線程組共享;prev和sample只能在當(dāng)前線程內(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)

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

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

場景三:我們需要對每個請求的響應(yīng)數(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)
}
// 當(dāng)然除了上述代碼外,也可以直接使用正則匹配元件去處理。</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("響應(yīng)時間: " + result.getTime())
log.info("響應(yīng)編碼: " + result.getResponseCode())
log.info("響應(yīng)數(shù)據(jù): " + new String(result.getResponseData()))</code></pre>                                                <br>
                                                分享題目:JMeter內(nèi)置變量大揭秘:含義,用法和實例                                                <br>
                                                鏈接URL:<a href="http://www.5511xx.com/article/dhipeih.html">http://www.5511xx.com/article/dhipeih.html</a>
                                            </div>
                                            <div   id="gj8ssqh"   class="hot_new">
                                                <div   id="ku34nuu"   class="page_title clearfix">
                                                    <h3>其他資訊</h3>
                                                </div>
                                                <div   id="t7m7fel"   class="news_list clearfix">
                                                    <ul>
                                                        <li>
                                                                <a href="/article/djhsphh.html">如何在Ubuntu18.04上安裝Go</a>
                                                            </li><li>
                                                                <a href="/article/djhspph.html">詳解Webpackdevtools</a>
                                                            </li><li>
                                                                <a href="/article/cdjhspj.html">Ubuntu時間錯亂漏洞仍未修復(fù)不知道密碼可獲root權(quán)限</a>
                                                            </li><li>
                                                                <a href="/article/djhsphi.html">創(chuàng)新互聯(lián)ECharts教程:ECharts中y軸的坐標(biāo)軸指示器</a>
                                                            </li><li>
                                                                <a href="/article/djhspsc.html">Oracle數(shù)據(jù)庫優(yōu)化攻略 (如何優(yōu)化oracle數(shù)據(jù)庫)</a>
                                                            </li>                                                    </ul>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
</div>

<!-- 底部信息 -->
<div   id="z27tsaz"   class="footer wow fadeInUp">
    <div   id="vwf7ljr"   class="rowFluid">
        <div   id="37u6dc3"   class="span12">
            <div   id="a9w4ahy"   class="container">
                <div   id="dxxd3zn"   class="footer_content">
                    <div   id="wx7wenl"   class="span4 col-xm-12">
                        <div   id="pjiipoe"   class="footer_list">
                            <div   id="i72v6ag"   class="span6">
                                <div   id="kxof6jx"   class="bottom_logo"><img src="/Public/Home/images/ewm.jpg" alt="微信服務(wù)號二維碼" /></div>
                            </div>
                            <div   id="v9qmkjk"   class="span6 col-xm-12">
                                <div   id="z4hmkks"   class="quick_navigation">
                                    <div   id="37lgd7v"   class="quick_navigation_title">快速導(dǎo)航</div>
                                    <ul>
                                        <li><a  title="成都企業(yè)注銷服務(wù)" target="_blank">成都企業(yè)注銷服務(wù)</a></li><li><a  title="成都多線機房" target="_blank">成都多線機房</a></li><li><a  title="瀘縣網(wǎng)站設(shè)計" target="_blank">瀘縣網(wǎng)站設(shè)計</a></li><li><a  title="南充網(wǎng)站建設(shè)" target="_blank">南充網(wǎng)站建設(shè)</a></li><li><a  title="光華電信機房托管" target="_blank">光華電信機房托管</a></li><li><a  title="成都發(fā)電機" target="_blank">成都發(fā)電機</a></li><li><a  title="成都小程序開發(fā)" target="_blank">成都小程序開發(fā)</a></li><li><a  title="成都花箱廠家" target="_blank">成都花箱廠家</a></li><li><a  title="遂寧網(wǎng)站建設(shè)" target="_blank">遂寧網(wǎng)站建設(shè)</a></li><li><a  title="什邡沃爾沃發(fā)電機出租" target="_blank">什邡沃爾沃發(fā)電機出租</a></li><li><a href="https://www.cdcxhl.cn/
" title="云主機" target="_blank">云主機</a></li>                                    </ul>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div   id="a9tbip7"   class="span4 col-xm-6 col-xs-12">
                        <div   id="3qripfd"   class="footer_list">
                            <div   id="fpxfrq2"   class="footer_link">
                                <div   id="rl9ppxf"   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)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a>
                                </ul>
                                <div   id="vba9lt4"   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)站欄目導(dǎo)航" target="_blank">網(wǎng)站導(dǎo)航</a></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                    <div   id="99vlcd3"   class="span4 col-xm-6 col-xs-12">
                        <div   id="nxfnmdt"   class="footer_list">
                            <div   id="8xqg34a"   class="footer_cotact">
                                <div   id="yz2c2jc"   class="footer_cotact_title">聯(lián)系方式</div>
                                <ul>
                                    <li><span id="8vl24g9"    class="footer_cotact_type">企業(yè):</span><span id="8laihzg"    class="footer_cotact_content">四川綿陽平武網(wǎng)站建設(shè)工作室</span></li>
                                    <li><span id="jubi11i"    class="footer_cotact_type">地址:</span><span id="fowevuj"    class="footer_cotact_content">成都市青羊區(qū)太升南路288號</span></li>
                                    <li><span id="noon2hc"    class="footer_cotact_type">電話:</span><span id="1e37xoe"    class="footer_cotact_content"><a href="tel:18980820575" class="call">18980820575</a></span></li>
                                    <li><span id="npwed2t"    class="footer_cotact_type">網(wǎng)址:</span><span id="rtaz4bq"    class="footer_cotact_content"><a href="/" title="四川平武網(wǎng)站建設(shè)">www.5511xx.com</a></span></li>
                                </ul>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            <div   id="rsrrrzi"   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://www.5511xx.com/" title="日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区">日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区</a>

<div class="friend-links">

<a href="http://www.stangekirke.net">黄色Av中文板狠狠干伊人|夜夜嗨AV综合黄色A毛片|无码成人AV在线看免费|日韩黄片免费试看|夜间视频无码日韩a片老牛|成人亚洲免费AV在线看|国产二区在线播放|成人嫩草AV网址|99视频偷拍偷拍|在线成人图片观看</a>
<a href="http://www.annearundelcountylife.com">AV每日更新不卡|无码av丝袜高跟鞋|伊人视频精品久久亚洲国产|影音先锋日本无码|91色婷婷一区二区在线|免费不卡一区二区三区|国产精选无码AV|一区二区色情国产韩国精品一|在线播放av导航|成人无码视频在线看</a>
<a href="http://www.thanxmkt.com">久草影视探花一级片少妇|综合色网在线播放|av天堂婷婷视频黄片|视频一区 国产精品|亚洲人成人毛片无遮挡|亚洲在线观看av在线观影|欧美特黄A级毛片|亚洲精品线路在线观看|日韩精品A片一区二区三区|亚洲岛国无码一区二区</a>

</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="0eibw" class="pl_css_ganrao" style="display: none;"><center id="0eibw"></center><strong id="0eibw"></strong><acronym id="0eibw"></acronym><nobr id="0eibw"><form id="0eibw"></form></nobr><font id="0eibw"></font><legend id="0eibw"></legend><sup id="0eibw"><tt id="0eibw"></tt></sup><address id="0eibw"><cite id="0eibw"></cite></address><tfoot id="0eibw"><ol id="0eibw"></ol></tfoot><font id="0eibw"><td id="0eibw"></td></font><center id="0eibw"><center id="0eibw"></center></center><object id="0eibw"></object><xmp id="0eibw"></xmp><bdo id="0eibw"><delect id="0eibw"></delect></bdo><p id="0eibw"></p><menuitem id="0eibw"></menuitem><strong id="0eibw"><font id="0eibw"></font></strong><b id="0eibw"></b><tfoot id="0eibw"></tfoot><output id="0eibw"></output><sup id="0eibw"></sup><tbody id="0eibw"></tbody><dfn id="0eibw"><p id="0eibw"></p></dfn><source id="0eibw"></source><b id="0eibw"></b><listing id="0eibw"></listing><tfoot id="0eibw"></tfoot><optgroup id="0eibw"><xmp id="0eibw"></xmp></optgroup><optgroup id="0eibw"></optgroup><form id="0eibw"><strong id="0eibw"></strong></form><dl id="0eibw"></dl><font id="0eibw"><th id="0eibw"></th></font><th id="0eibw"></th><output id="0eibw"></output><style id="0eibw"><mark id="0eibw"></mark></style><var id="0eibw"><thead id="0eibw"></thead></var><th id="0eibw"></th><p id="0eibw"></p><legend id="0eibw"></legend><strong id="0eibw"></strong><th id="0eibw"></th><menuitem id="0eibw"></menuitem><var id="0eibw"><thead id="0eibw"></thead></var><output id="0eibw"><td id="0eibw"></td></output><p id="0eibw"><ruby id="0eibw"></ruby></p><pre id="0eibw"><menuitem id="0eibw"></menuitem></pre><menuitem id="0eibw"><big id="0eibw"></big></menuitem><progress id="0eibw"><sup id="0eibw"></sup></progress><mark id="0eibw"><tbody id="0eibw"></tbody></mark><strong id="0eibw"><output id="0eibw"></output></strong></div>
</html>