1<html version="1.0" lang="en"> 2<!-- Copyright (c) 2022 Huawei Device Co., Ltd. 3 4 Licensed under the Apache License, Version 2.0 (the "License"); 5 you may not use this file except in compliance with the License. 6 You may obtain a copy of the License at 7 8 http://www.apache.org/licenses/LICENSE-2.0 9 10 Unless required by applicable law or agreed to in writing, software 11 distributed under the License is distributed on an "AS IS" BASIS, 12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 See the License for the specific language governing permissions and 14 limitations under the License. 15--> 16<head> 17 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 18 <title><!--{title_name}--></title> 19 <style type="text/css"> 20 body { 21 font-family: PingFangSC-Semibold, sans-serif; 22 font-size: 20px; 23 padding: 0; 24 margin: 0; 25 background-color: #F2F5F7; 26 } 27 28 div.logo { 29 background-image: url('data:image/jpeg;base64,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'); 30 width: 80px; 31 height: 30px; 32 } 33 div.operate { 34 background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTJweCIgdmlld0JveD0iMCAwIDE2IDEyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTMuMiAoNzI2NDMpIC0gaHR0cHM6Ly9za2V0Y2hhcHAuY29tIC0tPg0KICAgIDx0aXRsZT7lvaLnirYgY29weSAxNDwvdGl0bGU+DQogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhtTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDc3LjAwMDAwMCwgLTk3NC4wMDAwMDApIiBmaWxsPSIjMjkzMDQwIj4NCiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDg1LDk4NiBDMTQ4Mi4zMzMzMyw5ODYgMTQ3OS42NjY2Nyw5ODQgMTQ3Nyw5ODAgQzE0NzkuNzIyOTEsOTc2IDE0ODIuMzg5NTgsOTc0IDE0ODUsOTc0IEMxNDg3LjYxMDQyLDk3NCAxNDkwLjI3NzA5LDk3NiAxNDkzLDk4MCBDMTQ5MC4zMzMzMyw5ODQgMTQ4Ny42NjY2Nyw5ODYgMTQ4NSw5ODYgWiBNMTQ4NSw5ODQgQzE0ODcuMjA5MTQsOTg0IDE0ODksOTgyLjIwOTEzOSAxNDg5LDk4MCBDMTQ4OSw5NzcuNzkwODYxIDE0ODcuMjA5MTQsOTc2IDE0ODUsOTc2IEMxNDgyLjc5MDg2LDk3NiAxNDgxLDk3Ny43OTA4NjEgMTQ4MSw5ODAgQzE0ODEsOTgyLjIwOTEzOSAxNDgyLjc5MDg2LDk4NCAxNDg1LDk4NCBaIE0xNDg1LDk4MiBDMTQ4My44OTU0Myw5ODIgMTQ4Myw5ODEuMTA0NTY5IDE0ODMsOTgwIEMxNDgzLDk3OC44OTU0MzEgMTQ4My44OTU0Myw5NzggMTQ4NSw5NzggQzE0ODYuMTA0NTcsOTc4IDE0ODcsOTc4Ljg5NTQzMSAxNDg3LDk4MCBDMTQ4Nyw5ODEuMTA0NTY5IDE0ODYuMTA0NTcsOTgyIDE0ODUsOTgyIFoiIGlkPSLlvaLnirYtY29weS0xNCI+PC9wYXRoPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+'); 35 width: 16px; 36 height: 12px; 37 } 38 span.title { 39 float: left; 40 } 41 span.return { 42 background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjEycHgiIGhlaWdodD0iMTRweCIgdmlld0JveD0iMCAwIDEyIDE0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTMuMiAoNzI2NDMpIC0gaHR0cHM6Ly9za2V0Y2hhcHAuY29tIC0tPg0KICAgIDx0aXRsZT7liIbnu4Q8L3RpdGxlPg0KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPg0KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIGlkPSLkuLvpobUyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDg4LjAwMDAwMCwgLTEwMzIuMDAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4NCiAgICAgICAgICAgIDxnIGlkPSLliIbnu4QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4Ni4wMDAwMDAsIDEwMzEuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgeD0iMCIgeT0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3JlY3Q+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTYsNSBMNiw3IEwyLDQgTDYsMSBMNiwzIEw4LDMgQzExLjMxMzcwODUsMyAxNCw1LjY4NjI5MTUgMTQsOSBDMTQsMTIuMzEzNzA4NSAxMS4zMTM3MDg1LDE1IDgsMTUgTDQsMTUgTDQsMTMgTDYsMTMgTDgsMTMgQzEwLjIwOTEzOSwxMyAxMiwxMS4yMDkxMzkgMTIsOSBDMTIsNi43OTA4NjEgMTAuMjA5MTM5LDUgOCw1IEw2LDUgWiIgaWQ9IuWQiOW5tuW9oueKtiIgZmlsbD0iIzI5MzA0MCI+PC9wYXRoPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+'); 43 width: 12px; 44 height: 14px; 45 float: left; 46 } 47 48 table.logo { 49 width: 1920px; 50 height: 40px; 51 background-color: #FFFFFF; 52 margin-left: auto; 53 margin-right: auto; 54 } 55 table.logo th { 56 text-align: left; 57 padding: 9px 0 1px 24px; 58 } 59 60 div.layout { 61 width: 1160px; 62 background-color: #FFFFFF; 63 margin-top: 10px; 64 margin-right: auto; 65 margin-left: auto; 66 padding: 30px 20px 30px 20px; 67 } 68 69 table.exec-info { 70 width: 100%; 71 background-color: #FFFFFF; 72 padding: 0 0 5px 0; 73 } 74 table.exec-info th { 75 font-family: PingFangSC-Semibold, sans-serif; 76 color: #293040; 77 font-size: 20px; 78 height: 26px; 79 text-align: left; 80 padding: 0 0 20px 0; 81 word-break: break-all; 82 } 83 table.exec-info td.normal { 84 color: #5E6678; 85 font-size: 14px; 86 height: 20px; 87 text-align: left; 88 padding: 0 0 15px 0; 89 word-break: break-all; 90 } 91 table.exec-info td.first { 92 font-family: PingFangSC-Regular, sans-serif; 93 width: 156px; 94 } 95 table.exec-info td.second { 96 font-family: PingFangSC-Medium, sans-serif; 97 width: 424px; 98 } 99 table.exec-info td.third { 100 font-family: PingFangSC-Regular, sans-serif; 101 width: 152px; 102 } 103 table.exec-info td.fourth { 104 font-family: PingFangSC-Medium, sans-serif; 105 width: 428px; 106 } 107 108 table.summary { 109 width: 1160px; 110 height: 89px; 111 margin-left: auto; 112 margin-right: auto; 113 background-color: #F9FAFC; 114 } 115 .color-normal { 116 color: #293040; 117 } 118 .color-passed { 119 color: #3DCCA6; 120 } 121 .color-failed { 122 color: #F95F5B; 123 } 124 .color-blocked { 125 color: #FFB400; 126 } 127 .color-ignored { 128 color: #8C8C8C; 129 } 130 .color-unavailable { 131 color: #8C8C8C; 132 } 133 table.summary th.normal { 134 font-family: PingFangSC-Semibold, sans-serif; 135 font-size: 24px; 136 height: 24px; 137 width: 110px; 138 text-align: center; 139 word-break: break-all; 140 } 141 table.summary td.normal { 142 font-family: PingFangSC-Regular, sans-serif; 143 color: #5E6678; 144 font-size: 14px; 145 height: 20px; 146 width: 110px; 147 text-align: center; 148 } 149 table.summary th.modules { 150 padding: 20px 35px 0 34px; 151 } 152 table.summary th.run-modules, table.summary th.total-tests, table.summary th.passed { 153 padding: 20px 35px 0 0; 154 } 155 table.summary th.failed, table.summary th.blocked, table.summary th.ignored { 156 padding: 20px 35px 0 0; 157 } 158 table.summary th.unavailable { 159 padding: 20px 34px 0 0; 160 } 161 table.summary td.modules { 162 padding: 5px 35px 20px 34px; 163 } 164 table.summary td.run-modules, table.summary td.total-tests, table.summary td.passed { 165 padding: 5px 35px 20px 0; 166 } 167 table.summary td.failed, table.summary td.blocked, table.summary td.ignored { 168 padding: 5px 35px 20px 0; 169 } 170 table.summary td.unavailable { 171 padding: 5px 34px 20px 0; 172 } 173 174 table.devices { 175 width: 1160px; 176 margin-left: auto; 177 margin-right: auto; 178 margin-top: 30px; 179 table-layout: fixed; 180 } 181 table.devices th.normal { 182 font-family: Roboto-Medium, sans-serif; 183 color: #293040; 184 font-size: 12px; 185 height: 36px; 186 border-bottom: 1px #E8F0FD solid; 187 text-align: left; 188 } 189 table.devices td.normal { 190 font-family: Roboto-Regular, sans-serif; 191 color: #293040; 192 font-size: 14px; 193 height: 36px; 194 text-align: left; 195 } 196 table.devices th.device-index { 197 width: 3%; 198 } 199 table.devices th.device-sn, 200 table.devices th.device-model, 201 table.devices th.device-type, 202 table.devices th.device-platform, 203 table.devices th.device-version, 204 table.devices td.device-sn, 205 table.devices td.device-model, 206 table.devices td.device-type, 207 table.devices td.device-platform, 208 table.devices td.device-version { 209 width: 15%; 210 word-break: break-all; 211 } 212 213 .ellipsis { 214 overflow: hidden; 215 width: 180px; 216 text-overflow: ellipsis; 217 white-space: nowrap; 218 } 219 220 table.suites { 221 width: 1160px; 222 margin-left: auto; 223 margin-right: auto; 224 margin-top: 30px; 225 } 226 table.suites th.title { 227 font-family: PingFangSC-Semibold, sans-serif; 228 color: #293040; 229 font-size: 16px; 230 height: 22px; 231 text-align: left; 232 } 233 table.suites th.normal { 234 font-family: Roboto-Medium, sans-serif; 235 color: #293040; 236 font-size: 12px; 237 height: 36px; 238 border-bottom: 1px #E8F0FD solid; 239 text-align: left; 240 } 241 table.suites th.module { 242 width: 210px; 243 } 244 table.suites th.total { 245 width: 110px; 246 } 247 table.suites th.passed, table.suites th.failed, table.suites th.blocked { 248 width: 90px; 249 } 250 table.suites th.ignored, table.suites th.time { 251 width: 90px; 252 } 253 table.suites th.operate { 254 width: 58px; 255 } 256 table.suites tr.background-color{ 257 background-color: #F9FAFC; 258 } 259 table.suites td.normal { 260 font-family: Roboto-Regular, sans-serif; 261 color: #293040; 262 font-size: 14px; 263 height: 36px; 264 text-align: left; 265 word-break: break-all; 266 } 267 table.suites td.module { 268 width: 210px; 269 } 270 table.suites td.total { 271 width: 110px; 272 } 273 table.suites td.passed, table.suites td.failed, table.suites td.blocked { 274 width: 90px; 275 } 276 table.suites td.ignored, table.suites td.time { 277 width: 90px; 278 } 279 table.suites td.operate { 280 width: 58px; 281 } 282 283 table.test-suite, table.failure-test { 284 width: 1160px; 285 margin-left: auto; 286 margin-right: auto; 287 margin-top: 30px; 288 } 289 table.test-suite th.title, table.failure-test th.title { 290 font-family: PingFangSC-Semibold, sans-serif; 291 color: #293040; 292 font-size: 14px; 293 height: 22px; 294 text-align: left; 295 overflow: hidden; 296 } 297 table.test-suite th.normal, table.failure-test th.normal { 298 font-family: Roboto-Medium, sans-serif; 299 color: #293040; 300 font-size: 12px; 301 height: 36px; 302 border-bottom: 1px #E8F0FD solid; 303 text-align: left; 304 } 305 table.test-suite th.module { 306 width: 210px; 307 } 308 table.test-suite th.test { 309 width: 427px; 310 } 311 table.test-suite th.time { 312 width: 90px; 313 } 314 table.test-suite th.status { 315 width: 11px; 316 } 317 table.test-suite th.result { 318 width: 90px; 319 } 320 .circle-normal { 321 border-radius: 50%; 322 width: 6px; 323 height: 6px; 324 margin: 0; 325 padding: 0; 326 } 327 .circle-white { 328 background-color: #FFFFFF; 329 } 330 .circle-passed { 331 background-color: #3DCCA6; 332 } 333 .circle-failed { 334 background-color: #F95F5B; 335 } 336 .circle-blocked { 337 background-color: #FFB400; 338 } 339 .circle-ignored { 340 background-color: #8C8C8C; 341 } 342 .circle-unavailable { 343 background-color: #8C8C8C; 344 } 345 table.test-suite tr.background-color, table.failure-test tr.background-color { 346 background-color: #F9FAFC; 347 } 348 table.test-suite td.normal, table.failure-test td.normal { 349 font-family: Roboto-Regular, sans-serif; 350 color: #293040; 351 font-size: 14px; 352 height: 36px; 353 text-align: left; 354 word-break: break-all; 355 } 356 table.test-suite td.module { 357 width: 210px; 358 } 359 table.test-suite td.test { 360 width: 427px; 361 } 362 table.test-suite td.time { 363 width: 90px; 364 } 365 table.test-suite td.status { 366 width: 11px; 367 } 368 table.test-suite td.result { 369 width: 90px; 370 } 371 372 table.failure-test th.test { 373 width: 569px; 374 } 375 table.failure-test th.status { 376 width: 11px; 377 } 378 table.failure-test th.result { 379 width: 80px; 380 } 381 table.failure-test th.details { 382 width: 480px; 383 } 384 385 table.failure-test td.test { 386 vertical-align: top; 387 width: 569px; 388 } 389 table.failure-test td.status { 390 vertical-align: top; 391 width: 11px; 392 padding: 8px; 393 } 394 table.failure-test td.result { 395 vertical-align: top; 396 width: 80px; 397 } 398 table.failure-test td.details { 399 vertical-align: top; 400 width: 480px; 401 } 402 403 div.hidden { 404 overflow: hidden; 405 white-space: nowrap; 406 text-overflow: ellipsis; 407 width: 424px; 408 } 409 410 .el-dialog { 411 position: fixed; 412 top: 0; 413 left: 0; 414 width: 100%; 415 height: 100%; 416 background-color: rgba(0, 0, 0, 0.5); 417 display: none; 418 z-index: 9999; 419 } 420 421 .el-button { 422 margin-right: 10px; 423 } 424 425 .el-dialog__header { 426 background-color: #f5f7fa; 427 padding: 10px; 428 height: 30px; 429 } 430 431 .el-dialog__body { 432 background-color: #fff; 433 padding: 10px; 434 max-height: 280px; 435 overflow-y: auto; 436 } 437 438 .el-dialog__close { 439 font-size: 16px; 440 float: right; 441 } 442 443 table.el-dialog__table { 444 width: 100%; 445 background-color: #FFFFFF; 446 font-family: PingFangSC-Regular, sans-serif; 447 /* font-family: PingFangSC-Medium, sans-serif; */ 448 } 449 450 table.el-dialog__table td { 451 color: #5E6678; 452 font-size: 14px; 453 height: 30px; 454 text-align: left; 455 word-break: break-all; 456 } 457 458 table.el-dialog__table td.key { 459 width: 20%; 460 font-weight: bold; 461 } 462 463 table.el-dialog__table td.value { 464 width: 30%; 465 } 466 467 </style> 468</head> 469<body> 470 471<div class="layout"> 472 <table class="exec-info" id="summary"> 473 <tr> 474 <th colspan="4">Test Summary</th> 475 </tr> 476 <tr> 477 <td class="normal first">Platform:</td> 478 <td class="normal second"><!--{exec_info.platform}--></td> 479 <td class="normal third">Test Type:</td> 480 <td class="normal fourth"><!--{exec_info.test_type}--></td> 481 </tr> 482 <tr> 483 <td class="normal first">Device Name:</td> 484 <td class="normal second"><!--{exec_info.device_name}--></td> 485 <td class="normal third">Host Info:</td> 486 <td class="normal fourth"><!--{exec_info.host_info}--></td> 487 </tr> 488 <tr> 489 <td class="normal first">Test Start/ End Time:</td> 490 <td class="normal second"><!--{exec_info.test_time}--></td> 491 <td class="normal third">Execution Time:</td> 492 <td class="normal fourth"><!--{exec_info.execute_time}--></td> 493 </tr> 494 <tr> 495 <td class="normal first">Task Logs:</td> 496 <td class="normal second" colspan="3"><!--{exec_info.task_log}--></td> 497 </tr> 498 </table> 499 500 <table class="summary"> 501 <tr> 502 <th class="normal modules color-normal"><!--{summary.modules}--></th> 503 <th class="normal run-modules color-passed"><!--{summary.run_modules}--></th> 504 <th class="normal total-tests color-normal"><!--{summary.total}--></th> 505 <th class="normal passed color-passed"><!--{summary.passed}--></th> 506 <th class="normal failed <!--{color_type.failed}-->"><!--{summary.failed}--></th> 507 <th class="normal blocked <!--{color_type.blocked}-->"><!--{summary.blocked}--></th> 508 <th class="normal ignored <!--{color_type.ignored}-->"><!--{summary.ignored}--></th> 509 <th class="normal unavailable <!--{color_type.unavailable}-->"><!--{summary.unavailable}--></th> 510 </tr> 511 <tr> 512 <td class="normal modules">Modules</td> 513 <td class="normal run-modules">Run Modules</td> 514 <td class="normal total-tests">Total Tests</td> 515 <td class="normal passed">Passed</td> 516 <td class="normal failed">Failed</td> 517 <td class="normal blocked">Blocked</td> 518 <td class="normal ignored">Ignored</td> 519 <td class="normal unavailable">Unavailable</td> 520 </tr> 521 </table> 522 523 <!--{devices.context}--> 524 <!--{devices.dialogs}--> 525 526 <h4>Test Details</h4> 527 528<!--{suites.context}--> 529<!--{cases.context}--> 530<!--{failures.context}--> 531</div> 532<script> 533 function showDialog(dialog_id) { 534 const dialog = document.getElementById(dialog_id); 535 dialog.style.display = 'block'; 536 } 537 function hideDialog() { 538 const dialogs = document.getElementsByClassName('el-dialog'); 539 for (let i = 0; i < dialogs.length; i++) { 540 dialogs[i].style.display = 'none'; 541 } 542 } 543</script> 544</body> 545</html>