jemter中断言报错,jenkins仍显示构建成功,必须要打开报告才能看到是否有报错信息。
之前查资料看了很多,shell脚本之类的办法去解决这个问题,奈何我对shell并不熟悉,并没有做成功。无意间发现了以下方法,就记个笔记,下次遇到了就可以回来翻一下笔记。
首先,你要知道,Jenkins是否构建成功和jmeter断言是否执行成功是没有任何关系的。
接下来,我们处理怎么将错误的断言拿出来,并且告诉Jenkins,这次执行有错误并使本次构建报错。
如果jmeter中有断言报错,在控制台输出中我们会看到错误日志如下:
所以只需要判断控制台输出中是否包含Err:就可以了,不需要在.jtl文件中去查找错误日志。
Jenkins中有一个插件Text Finder可以帮我们去检查输出的内容。
下载Text Finder插件:
Text Finder可获取控制台输出的日志信息,用来判断脚本断言是否正确。
安装成功之后,在你的任务里面的“构建后任务”添加:
填写一个正则表达式参数,我写的是:(?<=Err:)\s*\d*[1-9]
勾选对控制台输出日志判断,构建后状态成功或失败,根据自己需求选择。
执行任务,查看报告如下:
任务执行完成后,如果控制台输出中有报错,任务状态就会变更为failure。
执行结果如下:
当然我觉得这个方法也可以通过正则表达式去判断其他参数,输出你想要的结果。
第一次写博客,如果发现有问题的地方,欢迎吐槽!!