Reportng 的测试报告在 Jenkins 中显示不全
2016-07-14 11:24
302 查看
通过Jenkins执行接口测试生成测试报告,用Jenkins的web服务打开html显示不全。
环境:Jenkins版本:1.651.2
Jenkins发布在mac上面
使用的是testng管理测试用例,reportng进行报告的优化。
问题:reportng生成的html文件index.html是一个frameset框架,但是通过Jenkins查看index.html的时候,没有显示 元素。
实际显示效果:
通过Jenkins查看网页源码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html" /> <!-- CSS Tabs is licensed under Creative Commons Attribution 3.0 - http://creativecommons.org/licenses/by/3.0/ --> <style type="text/css"> body { font: 100% verdana, arial, sans-serif; background-color: #fff; } /* begin css tabs */ ul#tabnav { /* general settings */ text-align: left; /* set to left, right or center */ margin: 8px 0 0 0; /* set margins as desired */ font: bold 11px verdana, arial, sans-serif; /* set font as desired */ border-bottom: 1px solid #6c6; /* set border COLOR as desired */ list-style-type: none; padding: 3px 10px 3px 10px; /* THIRD number must change with respect to padding-top (X) below */ } ul#tabnav li { /* do not change */ display: inline; } ul#tabnav li.selected { /* settings for selected tab */ border-bottom: 1px solid #fff; /* set border color to page background color */ background-color: #fff; /* set background color to match above border color */ } ul#tabnav li { /* settings for all tab links */ padding: 3px 4px; /* set padding (tab size) as desired; FIRST number must change with respect to padding-top (X) above */ border: 1px solid #6c6; /* set border COLOR as desired; usually matches border color specified in #tabnav */ background-color: #cfc; /* set unselected tab background color as desired */ color: #666; /* set unselected tab link color as desired */ margin-right: 0px; /* set additional spacing between tabs as desired */ text-decoration: none; border-bottom: none; cursor: pointer; } ul#tabnav li:hover { /* settings for hover effect */ background: #afa; /* set desired hover color */ } /* end css tabs */ /* FF 100% height iframe */ html, body, div, iframe { margin:0; padding:0; } iframe { display:block; width:100%; border:none; } h1 { display: inline; float: left; font-size: small; margin: 0; padding: 0 10px; } h2 { display: inline; float: right; font-size: small; margin: 0; padding: 0 10px; } </style> <script type="text/javascript"> function updateBody(tabId, page) { document.getElementById(selectedTab).setAttribute("class", "unselected"); tab = document.getElementById(tabId) tab.setAttribute("class", "selected"); selectedTab = tabId; iframe = document.getElementById("myframe"); iframe.src = tab.getAttribute("value"); } function init(tabId){ updateBody(tabId); updateViewport(); window.onresize = updateViewport; } function updateViewport(){ var viewportheight; // the more standards compliant browsers (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight if (typeof window.innerWidth != 'undefined') { viewportheight = window.innerHeight } // IE6 in standards compliant mode (i.e. with a valid doctype as the first line in the document) else if (typeof document.documentElement != 'undefined' && typeof document.documentElement.clientWidth != 'undefined' && document.documentElement.clientWidth != 0) { viewportheight = document.documentElement.clientHeight } // older versions of IE else { viewportheight = document.getElementsByTagName('body')[0].clientHeight } iframe = document.getElementById("myframe"); iframe.style.height = (viewportheight-30)+'px'; } var selectedTab = "tab1" </script> </head> <body onload="init('tab1');"> <h1><a id="hudson_link" href="#"></a></h1> <h2><a id="zip_link" href="#">Zip</a></h2> <ul id="tabnav"> <li id="tab1" class="unselected" onclick="updateBody('tab1')" value="index.html">index</li><script type="text/javascript">document.getElementById("hudson_link").innerHTML="Back to ufenqi_test_interface_winxin";</script><script type="text/javascript">document.getElementById("hudson_link").href="/job/ufenqi_test_interface_winxin/";</script><script type="text/javascript">document.getElementById("zip_link").href="*zip*/HTML_Report.zip";</script></ul> <div> <iframe id="myframe" height="100%" width="100%" frameborder="0"></iframe> </div> </body> </html>
本地打开的显示效果:
本地index.html的源码如下:
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset //EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="" lang=""> <head> <title>Test Results Report</title> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <meta name="description" content="TestNG unit test results." /> </head> <frameset cols="20%,*"> <frame src="suites.html" name="suites" /> <frame src="overview.html" name="main" /> </frameset> </html>
解决办法:
Jenkins会有一些默认的安全规则集,会影响一些插件的功能,去掉就可以了。启动Jenkins的时候添加参数即可。默认的是:
java -jar /usr/local/Cellar/jenkins-lts/1.651.2/libexec/jenkins.war
修改为:
java -Dhudson.model.DirectoryBrowserSupport.CSP= -jar /usr/local/Cellar/jenkins-lts/1.651.2/libexec/jenkins.war
详情请参考Jenkins安全策略配置说明
相关文章推荐
- MYSQL 备份工具
- 嵌入式启动过程笔记
- 数组的join()函数操作
- Scala中None, Nil, Nothing的区别
- ubuntu开启crontab日志
- 通过DL4J使用递归网络
- 企业SEO策略:决策权其实在你手里
- 纠正对Fragment Transaction BackStack的误解
- Android提高第八篇之SQLite分页读取
- 弹出层插件
- HDU1012打表之魂永流传
- 码神-day3-linux
- eclipse和Android studio中获取sha1和md5
- 解析百度搜索结果link?url=参数分析
- Js的eval解析JSON中的注意点
- Android开发入门之GridView(九宫图)用法
- 黑马程序员_Java基础_我的day20学习笔记
- 【内容】css3点击区域4种全屏放大显示内容动画特效
- UI Automator Viewer
- iOS简单的利用代理传值