zoukankan      html  css  js  c++  java
  • 传参来定制threadGroup的并发用户数,ramptime, 每用户的循环次数,host, URL, CVS Data Set的数据源

            JMeter中重要的元素就是ThreadGroup, 代表着模拟的用户,threads, loop, ramptime是三个经常要调整的参数,在非图形界面下要修改的话,虽然可以直接jmx, 但是次数多了也是麻烦,于是有了以下方案。

            我通常是用ant方式来运行JMeter(Jmeter/extras/下有build.xml),所以我的办法也是通过ant传参     


    1. 在build.xml中加入参数

        <target name="run">
            <echo>funcMode = ${funcMode}</echo>
            <delete file="${testpath}/${test}.html"/>
            <jmeter
                jmeterhome="${jmeter.home}"
                testplan ="${testpath}/${test}.jmx"
                resultlog="${testpath}/${test}.jtl">
            <!--
                <jvmarg value="-Xincgc"/>
                <jvmarg value="-Xmx128m"/>
                <jvmarg value="-Dproperty=value"/>
                <jmeterarg value="-qextra.properties"/>
            -->
                <!-- Force suitable defaults -->
                <property name="jmeter.save.saveservice.output_format" value="xml"/>
                <property name="jmeter.save.saveservice.assertion_results" value="all"/>
                <property name="jmeter.save.saveservice.bytes" value="true"/>
                <property name="file_format.testlog" value="${format}"/>
                <property name="jmeter.save.saveservice.response_data.on_error" value="${funcMode}"/>
                <property name="request.threads" value="${th}"/> 
                <property name="request.threads.loop" value="${loop}"/>
                <property name="loadtest.rampUp" value="${ramp}"/> 
      					
            </jmeter>
        </target>
    

    最后三个参数就是将用到的threads, loop, ramp

    2. 在jmx中做修改

    线程数 ${__P(request.threads)}

    ramptime ${__P(loadtest.rampUp)}

    loops: ${__P(request.threads.loop)}


    3. 在ant运行时加上对应的参数

    C:apache-jmeter-2.10extras>ant -f build1.xml -Dtest=mainlg -Dhost=192.168.16.212 -Dport=80 -Dth=10 -Dloop=10 -Dramp
    =1 -Dconfig=C:apache-jmeter-2.10extrasdatalogin_data.txt

    4. 如果不想每次都敲这么长的命令,有一个固定的默认值,也可以给ant运行配置一个默认的参数,可以参考JMeter是如何定义属性"test"的

        <!-- Name of test (without .jmx) -->
        <property name="test" value="Test"/>
    如果不在命令行中给ant加载test参数,那么它就会使用默认值 "Test"



    同理我们也可以修改像host, port, url这样的值了。

    下一篇说一下CVS Data Set config,这个可以取代CVSRead()的东东

  • 相关阅读:
    leetcode 1036. 逃离大迷宫(bfs)
    leetcode 1040. 移动石子直到连续 II(滑动窗口)
    leetcode 1039. 多边形三角剖分的最低得分(区间dp)
    Han Xin and His Troops(扩展中国剩余定理 Python版)
    CCPC 2019 网络赛 HDU huntian oy (杜教筛)
    多项式模板
    树链剖分(模板) 洛谷P3384
    2019牛客暑期多校训练营(第九场)
    CF #575 Div3
    计算几何模板集
  • 原文地址:https://www.cnblogs.com/yeyong/p/3906375.html
Copyright © 2011-2022 走看看