readCoverage.js 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /**
  2. *
  3. */
  4. ///import source
  5. function creatJscoverage(){
  6. try {
  7. if (typeof top === 'object' && top !== null && typeof top.opener === 'object' && top.opener !== null) {
  8. // this is a browser window that was opened from another window
  9. if (! top.opener._$jscoverage) {
  10. top.opener._$jscoverage = {};
  11. }
  12. }
  13. }
  14. catch (e) {}
  15. try {
  16. if (typeof top === 'object' && top !== null) {
  17. // this is a browser window
  18. try {
  19. if (typeof top.opener === 'object' && top.opener !== null && top.opener._$jscoverage) {
  20. top._$jscoverage = top.opener._$jscoverage;
  21. }
  22. }
  23. catch (e) {}
  24. if (! top._$jscoverage) {
  25. top._$jscoverage = {};
  26. }
  27. }
  28. }
  29. catch (e) {}
  30. try {
  31. if (typeof top === 'object' && top !== null && top._$jscoverage) {
  32. _$jscoverage = top._$jscoverage;
  33. }
  34. }
  35. catch (e) {}
  36. if (typeof _$jscoverage !== 'object') {
  37. _$jscoverage = {};
  38. }
  39. }
  40. (function(){
  41. var xmlDoc;
  42. if (window.ActiveXObject)
  43. {
  44. xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
  45. if(xmlDoc != null)
  46. {
  47. xmlDoc.async=true;
  48. xmlDoc.load("../HTML_Report/report.xml");
  49. }
  50. }
  51. else if(document.implementation && document.implementation.createDocument)
  52. {
  53. var xmlHttp=new window.XMLHttpRequest();
  54. xmlHttp.open("GET","../HTML_Report/report.xml",false);
  55. xmlHttp.send(null);
  56. xmlDoc = xmlHttp.responseXML;
  57. }else{
  58. xmlDom=null;
  59. }
  60. function readCoverage(){
  61. creatJscoverage();
  62. var nodeNumber=xmlDoc.getElementsByTagName("testsuite").length;
  63. for(i=0;i<nodeNumber;i++)
  64. {
  65. var nodeName= xmlDoc.getElementsByTagName("testsuite")[i];
  66. var num = nodeName.getElementsByTagName("testcase").length;
  67. for(var j=0;j<num;j++){
  68. var testname = nodeName.getElementsByTagName("testcase")[j];
  69. var casename = testname.getAttribute("name").split('_').join('/')+'.js';
  70. if(!_$jscoverage[casename]){
  71. _$jscoverage[casename]=[];
  72. }
  73. if(testname.getAttribute("cov")=='_') continue;
  74. var str_r = testname.getAttribute("recordCovForBrowser").split(',');
  75. for(var z=0;z<str_r.length;z++){
  76. if(str_r[z]!=2){
  77. if(!_$jscoverage[casename][z])
  78. _$jscoverage[casename][z]=0;
  79. _$jscoverage[casename][z]+=parseInt(str_r[z]);
  80. }
  81. }
  82. }
  83. }
  84. loadSource();
  85. }
  86. if(window.ActiveXObject){
  87. alert("Your browser is IE,click confirm button to continue ");
  88. readCoverage();
  89. } else{
  90. readCoverage();
  91. }
  92. })();