目前,我们在非 GUI 模式下运行的 Linux VM 上通过 JMETER 运行脚本。当 JMETER 测试运行时,它将结果发送到输出文件(JTL 文件)。然后,我们将此文件复制到本地 Windows 计算机,并将 JTL 转换为 CSV,以便更轻松地检查故障。
我想做的是搜索生成的 JTL 文件并查找任何错误(这些错误由 (400, Bad Request) 标识。下面的代码片段是 JTL 文件中失败的示例行。
1613036683919,43,Document has failed,400,Bad Request,Thread Group 1-1,text,false,,3844,1159,1,1
我想要的是 grep 作为示例来搜索文件中的任何错误请求错误,并且仅添加该行的块而不是完整的行,如下所示:
,Document has failed,400,Bad Request
注意:失败的文档会因不同的测试而改变,但文本将始终用逗号括起来。
我希望将其添加到 Error.txt 文件中,我可以附加到该文件以进行不同的测试,并且在所有完成后通过电子邮件发送整个结果。
我有一个基本的 grep 脚本,可以查看 JTL 的主要部分以查找错误:
grep ,400, Test.jtl > Error.txt
我有一个可以通过电子邮件发送文件的脚本。
非常感谢任何帮助。
答案1
扩展正则表达式以包含整个字符串,并使用该-o
选项仅打印匹配项。读man grep
。
grep -E -o ',[^,]+,400,Bad Request' Test.jtl