• 传参来定制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()的东东

  • 相关阅读:
    php静态调用非静态方法
    phalcon 框架3.0更新时报错
    centos7.5更换docker-ce镜像源
    腾讯云更换镜像源遇到的坑
    php cli模式下调试
    审查php.ini自动分析程序
    docker WARNING: IPv4 forwarding is disabled. Networking will not work.
    git常用命令,制作缩写命令
    学习GRPC(一) 简单实现
    mac与linux服务器之间使用ssh互通有无
  • 原文地址:https://www.cnblogs.com/yeyong/p/3906375.html
Copyright © 2020-2023  润新知