1<html version="1.0" lang="en"> 2<!-- Copyright (c) 2020 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 width: 80px; 30 height: 30px; 31 } 32 div.operate { 33 background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjE2cHgiIGhlaWdodD0iMTJweCIgdmlld0JveD0iMCAwIDE2IDEyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTMuMiAoNzI2NDMpIC0gaHR0cHM6Ly9za2V0Y2hhcHAuY29tIC0tPg0KICAgIDx0aXRsZT7lvaLnirYgY29weSAxNDwvdGl0bGU+DQogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+DQogICAgPGcgaWQ9Iumhtemdoi0xIiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4NCiAgICAgICAgPGcgaWQ9IuS4u+mhtTIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xNDc3LjAwMDAwMCwgLTk3NC4wMDAwMDApIiBmaWxsPSIjMjkzMDQwIj4NCiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xNDg1LDk4NiBDMTQ4Mi4zMzMzMyw5ODYgMTQ3OS42NjY2Nyw5ODQgMTQ3Nyw5ODAgQzE0NzkuNzIyOTEsOTc2IDE0ODIuMzg5NTgsOTc0IDE0ODUsOTc0IEMxNDg3LjYxMDQyLDk3NCAxNDkwLjI3NzA5LDk3NiAxNDkzLDk4MCBDMTQ5MC4zMzMzMyw5ODQgMTQ4Ny42NjY2Nyw5ODYgMTQ4NSw5ODYgWiBNMTQ4NSw5ODQgQzE0ODcuMjA5MTQsOTg0IDE0ODksOTgyLjIwOTEzOSAxNDg5LDk4MCBDMTQ4OSw5NzcuNzkwODYxIDE0ODcuMjA5MTQsOTc2IDE0ODUsOTc2IEMxNDgyLjc5MDg2LDk3NiAxNDgxLDk3Ny43OTA4NjEgMTQ4MSw5ODAgQzE0ODEsOTgyLjIwOTEzOSAxNDgyLjc5MDg2LDk4NCAxNDg1LDk4NCBaIE0xNDg1LDk4MiBDMTQ4My44OTU0Myw5ODIgMTQ4Myw5ODEuMTA0NTY5IDE0ODMsOTgwIEMxNDgzLDk3OC44OTU0MzEgMTQ4My44OTU0Myw5NzggMTQ4NSw5NzggQzE0ODYuMTA0NTcsOTc4IDE0ODcsOTc4Ljg5NTQzMSAxNDg3LDk4MCBDMTQ4Nyw5ODEuMTA0NTY5IDE0ODYuMTA0NTcsOTgyIDE0ODUsOTgyIFoiIGlkPSLlvaLnirYtY29weS0xNCI+PC9wYXRoPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+'); 34 width: 16px; 35 height: 12px; 36 } 37 span.title { 38 float: left; 39 } 40 span.return { 41 background-image: url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4NCjxzdmcgd2lkdGg9IjEycHgiIGhlaWdodD0iMTRweCIgdmlld0JveD0iMCAwIDEyIDE0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPg0KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNTMuMiAoNzI2NDMpIC0gaHR0cHM6Ly9za2V0Y2hhcHAuY29tIC0tPg0KICAgIDx0aXRsZT7liIbnu4Q8L3RpdGxlPg0KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPg0KICAgIDxnIGlkPSLpobXpnaItMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+DQogICAgICAgIDxnIGlkPSLkuLvpobUyIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtNDg4LjAwMDAwMCwgLTEwMzIuMDAwMDAwKSIgZmlsbC1ydWxlPSJub256ZXJvIj4NCiAgICAgICAgICAgIDxnIGlkPSLliIbnu4QiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ4Ni4wMDAwMDAsIDEwMzEuMDAwMDAwKSI+DQogICAgICAgICAgICAgICAgPHJlY3QgaWQ9IuefqeW9oiIgeD0iMCIgeT0iMCIgd2lkdGg9IjE2IiBoZWlnaHQ9IjE2Ij48L3JlY3Q+DQogICAgICAgICAgICAgICAgPHBhdGggZD0iTTYsNSBMNiw3IEwyLDQgTDYsMSBMNiwzIEw4LDMgQzExLjMxMzcwODUsMyAxNCw1LjY4NjI5MTUgMTQsOSBDMTQsMTIuMzEzNzA4NSAxMS4zMTM3MDg1LDE1IDgsMTUgTDQsMTUgTDQsMTMgTDYsMTMgTDgsMTMgQzEwLjIwOTEzOSwxMyAxMiwxMS4yMDkxMzkgMTIsOSBDMTIsNi43OTA4NjEgMTAuMjA5MTM5LDUgOCw1IEw2LDUgWiIgaWQ9IuWQiOW5tuW9oueKtiIgZmlsbD0iIzI5MzA0MCI+PC9wYXRoPg0KICAgICAgICAgICAgPC9nPg0KICAgICAgICA8L2c+DQogICAgPC9nPg0KPC9zdmc+'); 42 width: 12px; 43 height: 14px; 44 float: left; 45 } 46 47 table.logo { 48 width: 1920px; 49 height: 40px; 50 background-color: #FFFFFF; 51 margin-left: auto; 52 margin-right: auto; 53 } 54 table.logo th { 55 text-align: left; 56 padding: 9px 0 1px 24px; 57 } 58 59 div.container { 60 width: 1160px; 61 background-color: #FFFFFF; 62 margin-top: 10px; 63 margin-right: auto; 64 margin-left: auto; 65 padding: 30px 20px 30px 20px; 66 } 67 68 table.exec-info { 69 width: 100%; 70 background-color: #FFFFFF; 71 padding: 0 0 5px 0; 72 } 73 table.exec-info th { 74 font-family: PingFangSC-Semibold, sans-serif; 75 color: #293040; 76 font-size: 20px; 77 height: 26px; 78 text-align: left; 79 padding: 0 0 20px 0; 80 word-break: break-all; 81 } 82 table.exec-info td.normal { 83 color: #5E6678; 84 font-size: 14px; 85 height: 20px; 86 text-align: left; 87 padding: 0 0 15px 0; 88 word-break: break-all; 89 } 90 table.exec-info td.first { 91 font-family: PingFangSC-Regular, sans-serif; 92 width: 156px; 93 } 94 table.exec-info td.second { 95 font-family: PingFangSC-Medium, sans-serif; 96 width: 424px; 97 } 98 table.exec-info td.third { 99 font-family: PingFangSC-Regular, sans-serif; 100 width: 152px; 101 } 102 table.exec-info td.fourth { 103 font-family: PingFangSC-Medium, sans-serif; 104 width: 428px; 105 } 106 107 table.summary { 108 width: 1160px; 109 height: 89px; 110 margin-left: auto; 111 margin-right: auto; 112 background-color: #F9FAFC; 113 } 114 .color-normal { 115 color: #293040; 116 } 117 .color-passed { 118 color: #3DCCA6; 119 } 120 .color-failed { 121 color: #F95F5B; 122 } 123 .color-blocked { 124 color: #FFB400; 125 } 126 .color-ignored { 127 color: #8C8C8C; 128 } 129 .color-unavailable { 130 color: #8C8C8C; 131 } 132 table.summary th.normal { 133 font-family: PingFangSC-Semibold, sans-serif; 134 font-size: 24px; 135 height: 24px; 136 width: 110px; 137 text-align: center; 138 word-break: break-all; 139 } 140 table.summary td.normal { 141 font-family: PingFangSC-Regular, sans-serif; 142 color: #5E6678; 143 font-size: 14px; 144 height: 20px; 145 width: 110px; 146 text-align: center; 147 } 148 table.summary th.modules { 149 padding: 20px 35px 0 34px; 150 } 151 table.summary th.run-modules, table.summary th.total-tests, table.summary th.passed { 152 padding: 20px 35px 0 0; 153 } 154 table.summary th.failed, table.summary th.blocked, table.summary th.ignored { 155 padding: 20px 35px 0 0; 156 } 157 table.summary th.unavailable { 158 padding: 20px 34px 0 0; 159 } 160 table.summary td.modules { 161 padding: 5px 35px 20px 34px; 162 } 163 table.summary td.run-modules, table.summary td.total-tests, table.summary td.passed { 164 padding: 5px 35px 20px 0; 165 } 166 table.summary td.failed, table.summary td.blocked, table.summary td.ignored { 167 padding: 5px 35px 20px 0; 168 } 169 table.summary td.unavailable { 170 padding: 5px 34px 20px 0; 171 } 172 173 table.suites { 174 width: 1160px; 175 margin-left: auto; 176 margin-right: auto; 177 margin-top: 30px; 178 } 179 table.suites th.title { 180 font-family: PingFangSC-Semibold, sans-serif; 181 color: #293040; 182 font-size: 16px; 183 height: 22px; 184 text-align: left; 185 } 186 table.suites th.normal { 187 font-family: Roboto-Medium, sans-serif; 188 color: #293040; 189 font-size: 12px; 190 height: 36px; 191 border-bottom: 1px #E8F0FD solid; 192 text-align: left; 193 } 194 table.suites th.module { 195 width: 138px; 196 padding: 10px 0 0 20px; 197 } 198 table.suites th.test-suite { 199 width: 384px; 200 padding: 10px 0 0 0; 201 } 202 table.suites th.total { 203 width: 110px; 204 padding: 10px 0 0 0; 205 } 206 table.suites th.passed, table.suites th.failed, table.suites th.blocked { 207 width: 90px; 208 padding: 10px 0 0 0; 209 } 210 table.suites th.ignored, table.suites th.time { 211 width: 90px; 212 padding: 10px 0 0 0; 213 } 214 table.suites th.operate { 215 width: 58px; 216 padding: 10px 0 0 0; 217 } 218 table.suites tr.background-color{ 219 background-color: #F9FAFC; 220 } 221 table.suites td.normal { 222 font-family: Roboto-Regular, sans-serif; 223 color: #293040; 224 font-size: 14px; 225 height: 36px; 226 text-align: left; 227 word-break: break-all; 228 } 229 table.suites td.module { 230 width: 138px; 231 padding: 0 0 0 20px; 232 } 233 table.suites td.test-suite { 234 width: 384px; 235 padding: 0 0 0 0; 236 } 237 table.suites td.total { 238 width: 110px; 239 padding: 0 0 0 0; 240 } 241 table.suites td.passed, table.suites td.failed, table.suites td.blocked { 242 width: 90px; 243 padding: 0 0 0 0; 244 } 245 table.suites td.ignored, table.suites td.time { 246 width: 90px; 247 padding: 0 0 0 0; 248 } 249 table.suites td.operate { 250 width: 58px; 251 padding: 0 0 0 0; 252 } 253 254 table.test-suite, table.failure-test { 255 width: 1160px; 256 margin-left: auto; 257 margin-right: auto; 258 margin-top: 30px; 259 } 260 table.test-suite th.title, table.failure-test th.title { 261 font-family: PingFangSC-Semibold, sans-serif; 262 color: #293040; 263 font-size: 14px; 264 height: 22px; 265 text-align: left; 266 wrap-option: no; 267 overflow: hidden; 268 } 269 table.test-suite th.normal, table.failure-test th.normal { 270 font-family: Roboto-Medium, sans-serif; 271 color: #293040; 272 font-size: 12px; 273 height: 36px; 274 border-bottom: 1px #E8F0FD solid; 275 text-align: left; 276 } 277 table.test-suite th.module { 278 width: 138px; 279 padding: 5px 0 0 20px; 280 } 281 table.test-suite th.test-suite { 282 width: 384px; 283 padding: 5px 0 0 0; 284 } 285 table.test-suite th.test { 286 width: 427px; 287 padding: 5px 0 0 0; 288 } 289 table.test-suite th.time { 290 width: 90px; 291 padding: 5px 0 0 0; 292 } 293 table.test-suite th.status { 294 width: 11px; 295 padding: 5px 0 0 0; 296 } 297 table.test-suite th.result { 298 width: 90px; 299 padding: 5px 0 0 0; 300 } 301 .circle-normal { 302 border-radius: 50%; 303 width: 6px; 304 height: 6px; 305 margin: 0; 306 padding: 0; 307 } 308 .circle-white { 309 background-color: #FFFFFF; 310 } 311 .circle-passed { 312 background-color: #3DCCA6; 313 } 314 .circle-failed { 315 background-color: #F95F5B; 316 } 317 .circle-blocked { 318 background-color: #FFB400; 319 } 320 .circle-ignored { 321 background-color: #8C8C8C; 322 } 323 .circle-unavailable { 324 background-color: #8C8C8C; 325 } 326 table.test-suite tr.background-color, table.failure-test tr.background-color { 327 background-color: #F9FAFC; 328 } 329 table.test-suite td.normal, table.failure-test td.normal { 330 font-family: Roboto-Regular, sans-serif; 331 color: #293040; 332 font-size: 14px; 333 height: 36px; 334 text-align: left; 335 word-break: break-all; 336 } 337 table.test-suite td.module { 338 width: 138px; 339 padding: 0 0 0 20px; 340 } 341 table.test-suite td.test-suite { 342 width: 384px; 343 padding: 0 0 0 0; 344 } 345 table.test-suite td.test { 346 width: 427px; 347 padding: 0 0 0 0; 348 } 349 table.test-suite td.time { 350 width: 90px; 351 padding: 0 0 0 0; 352 } 353 table.test-suite td.status { 354 width: 11px; 355 padding: 0 0 0 0; 356 } 357 table.test-suite td.result { 358 width: 90px; 359 padding: 0 0 0 0; 360 } 361 362 table.failure-test th.test { 363 width: 569px; 364 padding: 5px 0 0 20px; 365 } 366 table.failure-test th.status { 367 width: 11px; 368 padding: 5px 0 0 0; 369 } 370 table.failure-test th.result { 371 width: 80px; 372 padding: 5px 0 0 0; 373 } 374 table.failure-test th.details { 375 width: 480px; 376 padding: 5px 0 0 0; 377 } 378 379 table.failure-test td.test { 380 vertical-align: top; 381 width: 569px; 382 padding: 2px 0 0 20px; 383 } 384 table.failure-test td.status { 385 vertical-align: top; 386 width: 11px; 387 padding: 8px 0 0 0; 388 } 389 table.failure-test td.result { 390 vertical-align: top; 391 width: 80px; 392 padding: 2px 0 0 0; 393 } 394 table.failure-test td.details { 395 vertical-align: top; 396 width: 480px; 397 padding: 2px 0 0 0; 398 } 399 400 div.hidden { 401 overflow: hidden; 402 white-space: nowrap; 403 text-overflow: ellipsis; 404 width: 424px; 405 } 406 </style> 407</head> 408<body> 409 410<table class="logo"> 411 <th> 412 <!--<div class="logo"></div>--> 413 </th> 414</table> 415 416<div class="container"> 417 <table class="exec-info" id="summary"> 418 <tr> 419 <th colspan="4">Test Summary</th> 420 </tr> 421 <tr> 422 <td class="normal first">Platform:</td> 423 <td class="normal second"><!--{exec_info.platform}--></td> 424 <td class="normal third">Test Type:</td> 425 <td class="normal fourth"><!--{exec_info.test_type}--></td> 426 </tr> 427 <tr> 428 <td class="normal first">Device Name:</td> 429 <td class="normal second"><!--{exec_info.device_name}--></td> 430 <td class="normal third">Host Info:</td> 431 <td class="normal fourth"><!--{exec_info.host_info}--></td> 432 </tr> 433 <tr> 434 <td class="normal first">Test Start/ End Time:</td> 435 <td class="normal second"><!--{exec_info.test_time}--></td> 436 <td class="normal third">Execution Time:</td> 437 <td class="normal fourth"><!--{exec_info.execute_time}--></td> 438 </tr> 439<!--{exec_info.product_info}--> 440 </table> 441 442 <table class="summary"> 443 <tr> 444 <th class="normal modules color-normal"><!--{summary.modules}--></th> 445 <th class="normal run-modules color-passed"><!--{summary.run_modules}--></th> 446 <th class="normal total-tests color-normal"><!--{summary.total}--></th> 447 <th class="normal passed color-passed"><!--{summary.passed}--></th> 448 <th class="normal failed <!--{color_type.failed}-->"><!--{summary.failed}--></th> 449 <th class="normal blocked <!--{color_type.blocked}-->"><!--{summary.blocked}--></th> 450 <th class="normal ignored <!--{color_type.ignored}-->"><!--{summary.ignored}--></th> 451 <th class="normal unavailable <!--{color_type.unavailable}-->"><!--{summary.unavailable}--></th> 452 </tr> 453 <tr> 454 <td class="normal modules">Modules</td> 455 <td class="normal run-modules">Run Modules</td> 456 <td class="normal total-tests">Total Tests</td> 457 <td class="normal passed">Passed</td> 458 <td class="normal failed">Failed</td> 459 <td class="normal blocked">Blocked</td> 460 <td class="normal ignored">Ignored</td> 461 <td class="normal unavailable">Unavailable</td> 462 </tr> 463 </table> 464 465<!--{suites.context}--> 466<!--{cases.context}--> 467<!--{failures.context}--> 468</div> 469</body> 470</html> 471