合并 jMeter 结果文件

Ale*_*tos 4 jmeter jmeter-plugins

我正在尝试使用 jMeter 合并来合并结果文件(http://jmeter-plugins.org/wiki/MergeResults/ ),但插件似乎仅限于 4 个要合并的文件。有什么办法可以合并更多文件(> 100)?

文件的结构似乎很简单(https://wiki.apache.org/jmeter/JtlFiles)所以我即将打破 bash 并编写自己的文件,但想知道是否还没有编写某些内容。

Ale*_*tos 6

根据您的项目创建一个 jMeter 输出文件:

jmeter -n -t ./project.jmx -l testresult.jtl
Run Code Online (Sandbox Code Playgroud)

这将加载文件project.jmx,运行测试并将结果保存到testresult.jtl.

一旦你有许多这样的结果文件,你可以使用以下脚本合并它们:

#!/bin/bash

echo "Combines all results from files called testresult*.jtl into one file called merged.jtl"
echo "If merged.jtl exists, it will be overridden"

cat testresult*.jtl > merged.jtl

# Remove boundaries between tests
sed 's_<\/testResults>__g' merged.jtl > /tmp/sedmerged1
sed 's_<?xml version=\"1.0\" encoding=\"UTF-8\"?>__g' /tmp/sedmerged1 > /tmp/sedmerged2
sed 's_<testResults version=\"1.2\">__g' /tmp/sedmerged2 > /tmp/sedmerged3

# Add wrappers
echo "</testResults>" >> /tmp/sedmerged3
sed '1i <?xml version="1.0" encoding="UTF-8"?><testResults version="1.2">' /tmp/sedmerged3 > merged.jtl
Run Code Online (Sandbox Code Playgroud)

该脚本将创建一个名为merged.jtl.

完毕。