JMeter将变量添加到Simple Data Writer记录

时间:2015-11-18 10:29:32

标签: logging file-io jmeter

为了更好地理解/分析JMeter日志,我想将循环计数添加到Simple Data Writer日志记录中。我可以轻松地获得循环计数变量,但是如何将变量值添加到Simple Data Writer记录中?

E.g。在我的JMeter测试中,我有50个用户,例如像每5分钟的新用户一样缓慢上升。我的线程组配置为在测试运行期间永久循环。所以我有SDW记录,如:

1447625139724,20,157 /Start.aspx,200,OK,Thread Group - Dashboard 50 1-1,text,true,3418,1,1,6,0,0
...
1447625158283,42,171 /Logout.aspx,200,OK,Thread Group - Dashboard 50 1-1,text,true,6814,1,1,32,0,0
1447625160283,13,157 /Start.aspx,200,OK,Thread Group - Dashboard 50 1-1,text,true,3419,1,1,4,0,0
...
...
1447625201195,1023,160 /Start.aspx,200,OK,Thread Group - Dashboard 50 1-2,text,true,24038,2,2,29,0,0
...

所以最后我有50个线程在运行。并且每个线程用户登录 - 执行操作 - 注销 - 重新登录...

我希望在日志文件中看到的不仅仅是"线程组 - 仪表板50 1-2"但类似于"线程组 - 仪表板50 1-2-15"其中15表示线程组1中线程2的第15个循环。

我知道我可以制作一个计数器变量并增加它,例如每个/开始通话。 但是,如何使用每个Simple Data Writer记录写入该变量的值?这是个问题!

谢谢。

2 个答案:

答案 0 :(得分:0)

将beanshell元素添加到测试,预处理器,后处理器或采样器中,并不重要,并向其添加日志行,以写入JMeter日志。

    <activity android:name=".activities.NFCActivity"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.nfc.action.NDEF_DISCOVERED"/>
            <category android:name="android.intent.category.DEFAULT"/>
            <data android:mimeType="text/plain"/>
        </intent-filter>
    </activity>

您也可以将变量和jmeter属性的值写入日志。您可以从JMeter context

获取大量运行时信息
log.info("Hello World!");

log.info(ctx.getThreadNum() + "-" + vars.get("LoopCounterVariable")); 可以是您自己更新的变量,也可以在测试计划中添加JMeter counter

答案 1 :(得分:0)

使用JMeter的sample_variables属性:

  1. 将以下行添加到 user.properties 文件(位于JMeter安装的/ bin文件夹下)

    sample_variables=counter,threadGroup,etc.
    
  2. 在下一个JMeter上重新启动已定义的变量值(如果有)将添加到.jtl结果文件中。
  3. 您还可以通过-J命令行参数提供此属性,如:

    jmeter -Jsample_variables=foo,bar -n -t testplan.jmx -l results.jtl
    

    有关域名的一些额外信息,请参阅Apache JMeter Properties Customization Guide