summary.html 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. {% extends "base.html" %}
  2. {% block content %}
  3. <main class="container">
  4. <div class="d-flex align-items-center p-3 my-4 rounded shadow">
  5. <div class="lh-100">
  6. <div class="display-4 text-primary lh-100">{{ data.name }}</div>
  7. <div class="mt-1 text-dark">Execution ID: {{ data.id }}</div>
  8. <div class="text-secondary">Execution time: {{ data.time }}</div>
  9. </div>
  10. </div>
  11. <!-- Summary -->
  12. <div class="display-4 p-2">Summary</div>
  13. <div class="card mb-4 shadow">
  14. <div class="row no-gutters">
  15. <div class="col-md-5">
  16. <canvas class="card-img my-3" id="statusChart"></canvas>
  17. </div>
  18. <div class="col-md-7">
  19. <div class="card-body row h-100 align-items-center">
  20. <div class="d-flex flex-column col-3 border-right px-0">
  21. <div class="display-3 text-center">{{ data.figures.records }}</div>
  22. <h4 class="text-center">TESTS</h4>
  23. </div>
  24. {% if data.figures.successful > 0 %}
  25. <div class="d-flex flex-column col-3 text-success px-0">
  26. <div class="display-3 text-center">{{ data.figures.successful }}</div>
  27. <h4 class="text-center">PASSED</h4>
  28. </div>
  29. {% endif %}
  30. {% if data.figures.error > 0 %}
  31. <div class="d-flex flex-column col-3 text-danger px-0">
  32. <div class="display-3 text-center">{{ data.figures.error }}</div>
  33. <h4 class="text-center">FAILED</h4>
  34. </div>
  35. {% endif %}
  36. {% if data.figures.paused > 0 %}
  37. <div class="d-flex flex-column col-3 text-secondary px-0">
  38. <div class="display-3 text-center">{{ data.figures.paused }}</div>
  39. <h4 class="text-center">PAUSED</h4>
  40. </div>
  41. {% endif %}
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <!-- TestCases -->
  47. <div class="display-4 p-2">Test Cases</div>
  48. <canvas class="rounded border w-100 mb-4 p-2 shadow" height="250" id="testcaseChart"></canvas>
  49. <!-- Screenshots -->
  50. {% if data.screenshots %}
  51. <div class="display-4 p-2">Screenshots</div>
  52. <div class="row row-cols-1 row-cols-md-3 mb-4">
  53. {% for screenshot in data.screenshots %}
  54. <div class="col mb-4">
  55. <a href="file://{{ screenshot.path }}">
  56. <div class="card shadow">
  57. <img src="file://{{ screenshot.path }}" class="card-img" alt="Test Case {{ screenshot.index }}">
  58. <div class="card-body">
  59. <h5 class="card-title">Test Case {{ screenshot.index }}</h5>
  60. </div>
  61. </div>
  62. </a>
  63. </div>
  64. {% endfor %}
  65. </div>
  66. {% endif %}
  67. <!-- Files -->
  68. <div class="display-4 p-2">Files</div>
  69. <ul class="list-group w-100 mb-5 shadow">
  70. {% for file in data.files %}
  71. <li class="list-group-item">
  72. <div class="row">
  73. <div class="col-2 h5">
  74. {{ file.name }}
  75. </div>
  76. <div class="col-10 h6">
  77. <a href="file://{{ file.path }}">{{ file.path }}</a>
  78. </div>
  79. </li>
  80. {% endfor%}
  81. </ul>
  82. </main>
  83. <script src="https://cdn.jsdelivr.net/npm/chart.js@2.8.0"></script>
  84. <script type="text/javascript">
  85. var statusChart = new Chart(document.querySelector('#statusChart'), {{ data.status }});
  86. var testcaseChart = new Chart(document.querySelector('#testcaseChart'), {{ data.testcases }});
  87. </script>
  88. {% endblock %}