软件测试面试刷题,这个小程序(永久刷题),靠它可以快速找到工作!https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502编辑https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502https://blog.csdn.net/AI_Green/article/details/134931243?spm=1001.2014.3001.5502
项目中需要为Jenkins构建生成一个html的报告,往上搜到的教程都是针对旧的“自由风格的软件项目”的教程,没有针对pipeline流水线工程的教程,自己参照HTML Publisher插件的官方文档进行了实现,总结一下相关的步骤以备后续参考:
Jenkins的HTML Publisher插件在流水线工程pipeline中的groovy脚本中也可以使用,例如:groovy脚本中写如下代码
publishHTML (target : [allowMissing: false,
alwaysLinkToLastBuild: true,
keepAll: true,
reportDir: '/home/jenkins/reports/${JOB_BASE_NAME}_${BUILD_NUMBER}',
reportFiles: 'report.html',
reportName: '覆盖率报告',
reportTitles: '覆盖率报告'])
这个流程会把/home/jenkins/reports/${JOB_BASE_NAME}_${BUILD_NUMBER}目录下的report.html拷贝到该构建的html报告目录,在构建左侧边栏展示一个测试报告的链接,可以点击查看测试报告。使用job名以及构建号作为html报告目录,可以保证并发构建下,html报告内容不会被踩。
target配置涉及到的参数含义说明:
reportName : String
要为构建/项目显示的报告的名称,该名称会展示到每一个构建或者项目的左侧边栏reportDir : String
相对于工作空间的HTML报告目录的路径, 实测既可以是相对路径, 也可以是绝对路径reportFiles : String
html报告的文件名,reportDir目录下的reportFiles会被拷贝到构建的报告路径keepAll : boolean
如果选中,则存档所有成功构建的报告,否则只存档最近的报告alwaysLinkToLastBuild : boolean
如果选中此控件和“保留过去的HTML报告”,即使构建失败,也要在项目级别发布链接allowMissing : boolean
如果选中,将允许丢失报告,并且构建不会因丢失报告而失败escapeUnderscores : boolean
(optional) 如果选中,在存储到磁盘上时,报告标题中的下划线将被转义为'_5f'。如果不加以控制,他们将无法逃脱。includes : String
(optional)reportTitles : String
(optional) 报告文件的可选标题,将用作选项卡名称。如果没有提供,将使用文件名代替useWrapperFileDirectly : boolean
(optional) 默认情况下,每次存档报表访问都会生成一个新的包装器文件。如果选中,将使用遗留包装器文件,而不是每次生成它。必须仅在包装器文件被转换并使用校验和保存时使用
遇到的问题
提示目录不存在
-
报错信息
ERROR: Directory '/home/jenkins/reports/test_520 exits but failed copying to xxxx
-
原因
生成html报告的目录jenkins节点与执行这段groovy代码的jenkins节点不是同一个节点,必须在同一个节点执行才可以,否则找不到目录
html报告中使用的css样式表无法显示
-
原因
jenkins默认的安全策略,为了安全限制了css的展示,详细信息可以参考: www.jenkins.io/doc/book/se…
-
解决
- 临时解决
在Jenkins “系统管理” -> “Script Console脚本命令行” 执行
不设置安全策略:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
设置后, 后续的构建生成的报告就可以正常展示
其他相关命令:
设置自定义安全策略:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "sandbox allow-same-origin; default-src 'self';")
恢复安全策略到默认设置
System.clearProperty("hudson.model.DirectoryBrowserSupport.CSP")
获取当前设置的策略
System.getProperty("hudson.model.DirectoryBrowserSupport.CSP")
- 永久解决
官方文档给出: If its value is the empty string, e.g. java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar jenkins.war then the header will not be sent at all.
我安装的Jenkins已经是通过systemctl管理jenkins服务的版本,通过修改/usr/lib/systemd/system/jenkins.service, 在Environment="JAVA_OPS=-Djava.awt.headless=true后面加上 -Dhudson.model.DirectoryBrowserSupport.CSP=
然后systemctl daemon-reload重新加载配置,再systemctl restart jenkins。然后齐活儿!
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 759968159,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。