需求是Jenkins跑完测试结果不清晰,测试运行过久,测试过程中不知道测试结果。
- LogParse不理想,它会自己框出一片区域来放日志,通过写颜色配置文件,正则匹配颜色,但是颜色较少,只有三种;优点是通过正则匹配,是在表现层(最末端)处理,不用改日志输出
- 通过log4j输出日志带颜色,再安装支持ANSI转义字符的插件:AnsiColor,如果想在console看颜色,使用
less -R或者安装vim插件ANSI color;log4j颜色,不能为自定义等级的日志设置颜色,暂时没有找到办法 - 上面两个办法都有个缺点,应该是TestResult的缺点;不能实现的是让TestResult带颜色,因为测试人员一般都在看testResult
- 实时查看测试结果:JUnit Realtime Test Reporter Plugin, 凑合能用
- Test Analyzer Plugin 也不错,分析测试结果。
- 关于上色,换种方式来实现,借鉴浏览器插件的思路,在前端自己改日志的内容。本来自己还想看看富文本相关的知识,看起来入门不简单,于是SF上看到了个 mark.js,那么怎么让JS运行呢?难不成写个火狐插件啊?后来得知一个插件:SImple Theme 有很多基于其做的开源UI,我通过“学习”其中一个UI:https://github.com/kevinburke/doony. 再配合F12三脚猫功夫得知想修改console输出就得改
pre这个标签里的内容,这样怎么插入运行JS的问题就解决了。 那如何加载JS呢?Jenkins有个目录是/var/lib/jenkins/userContent/,不受权限控制,即使不登陆也能加载,就可以把编写好的JS和CSS文件放在那里,也可以放别的网站、CNS去加载,配置好即可。
当然,事情并不总是一帆风顺,在你编写好CSS和JavaScript后,加载页面系统管理页面、配置页面时会一直显示loading,笔者肯定是找到了解决方法了!https://issues.jenkins.io/browse/JENKINS-26378,因为钻研啥都不钻研前端的理念,这里摘录一些:
I had a similar problem - with the plugin installed and my skinning JavaScript, the “Loading…” never went away. I think it has to do with event handlers, etc. Try this in your Javascript:
function myFunction() {
// the stuff you want to do.
}
var body = document.getElementsByTagName('body');
if (window.addEventListener) {
window.addEventListener('load', myFunction, false);
}
else if (window.attachEvent) {
window.attachEvent('onload', myFunction );
}
探讨了在Jenkins中优化测试日志可视化的多种方案,包括使用LogParse、log4j、JUnitRealtimeTestReporterPlugin及前端自定义日志颜色的方法。介绍了如何通过前端修改日志内容,利用mark.js和SimpleTheme插件实现在console中查看带颜色的日志,以及解决加载页面时Loading...不消失的问题。

1952

被折叠的 条评论
为什么被折叠?



