目前在我们的企业Web应用程序(Java,Hibernate,Oracle,HTML / CSS / JavaScript和内部模板语言)上进行的前端性能测试很少甚至没有。
我们最近设置了Jenkins,并且正在慢慢尝试自动化。
我直接了解我们前端性能的主要问题点(无缩小,压缩,捆绑等......)
应用程序每晚通过jenkins任务构建。 (使用Maven)我想使用一个工具来识别当前的基线指标,然后继续每晚运行测试,并在超过基线值时发出警报。
我快速浏览了一下Lighthouse并注意到它提供了一个nodejs模块,可以在命令行上运行,并且可以通过jenkins作为grunt任务运行。 This文章在设置上很有用。
有没有人使用这种方法使用这些工具?任何建议更好的方法?
最初,我们正在寻找最受欢迎的应用部分的基础知识。 (页面加载时间,文件大小,页面上的http请求)。
我也可以看到我们使用它来保持网站的可访问性,因为这对我们来说也很重要。
您可以考虑使用负载测试工具,该工具将模拟应用程序的实际使用情况并报告指标等
一个好的候选者可能是Apache JMeter,它是纯Java的多协议负载测试工具,可以支持Web界面和oracle数据库负载测试。它可以通过Performance Plugin与Jenkins集成,查看How to Use the Jenkins Performance Plugin了解更多详情。
如果您只对前端测试感兴趣(页面渲染时间,dom事件处理,脚本执行时间等),您可以考虑将Selenium浏览器自动化框架与Navigation Timing API一起使用
另一种选择是使用WebPageTest API,其中包括Lighthouse结果以及它自己的结果,并且将避免设置任何本地测试框架:https://sites.google.com/a/webpagetest.org/docs/advanced-features/webpagetest-restful-apis
如果需要,您还可以安装自己的本地副本:https://github.com/WPO-Foundation/webpagetest-docs/blob/master/user/Private%20Instances/README.md
这是我用来自动化测试的工具集。