原生HTML、CSS、JS生成一份HTML格式测试报告

3 篇文章 0 订阅

因为测试内容比较复杂,后端生成的WORD、PDF格式的测试报告总是不太美观,而HTML能比较容易控制内容格式,这里提供一份HTML格式的报告模板,后端可以直接用该模板来生成HTML格式的报告。

<?xml version="1.0" encoding="UTF-8"?>
<!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">

<head>
    <title>一个简单的测试报告</title>
    <meta name="generator" content="HTMLReport 刘士 2.2.1" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <style type="text/css" media="screen">
        body {
            font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
            font-size: 14px;
        }

        pre {
            word-wrap: break-word;
            word-break: break-all;
            overflow: auto;
            white-space: pre-wrap
        }

        h1 {
            font-size: 16pt;
            color: gray
        }

        .heading {
            margin-top: 0;
            margin-bottom: 1ex
        }

        .heading .attribute {
            margin-top: 1ex;
            margin-bottom: 0
        }

        .heading .description {
            margin-top: 4ex;
            margin-bottom: 6ex
        }

        a.popup_link:hover {
            color: red
        }

        .popup_window {
            display: block;
            position: relative;
            left: 0;
            top: 0;
            padding: 10px;
            background-color: #E6E6D6;
            text-align: left;
            font-size: 13px
        }

        .popup_retry_window {
            padding-left: 50px;
        }

        #show_detail_line {
            margin-top: 3ex;
            margin-bottom: 1ex
        }

        #result_table {
            width: 100%;
            border-collapse: collapse;
            border: 1px solid #777
        }

        #header_row {
            color: #fff;
            background-color: #777
        }

        #result_table td {
            border: 1px solid #777;
            padding: 2px;
        }

        #result_table td:nth-child(n+2) {
            min-width: 70px;
            width: 100%
        }

        #result_table td:nth-child(n+3) {
            text-align: center;
        }

        #result_table td:first-of-type {
            text-align: center;
            min-width: 60px;
        }

        #total_row {
            font-weight: bold
        }

        .passClass,
        .failClass,
        .errorClass,
        .skipClass {
            font-weight: bold
        }

        .passCase {
            background-color: #d0e9c6
        }

        .failCase {
            background-color: #ebcccc
        }

        .errorCase {
            background-color: #faf2cc
        }

        .skipCase {
            background-color: #c4e3f3
        }

        .hiddenRow {
            display: none
        }

        .testcase {
            margin-left: 2em
        }

        #popup {
            position: fixed;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            text-align: center;
            display: none
        }

        #popup .bg {
            background-color: rgba(0, 0, 0, .5);
            width: 100%;
            height: 100%
        }

        #popup img {
            max-width: 100%;
            max-height: 100%;
            margin: auto;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
        }

        img.pic {
            cursor: pointer;
            width: auto;
            height: auto;
            max-width: 100%;
            max-height: 100%;
        }

        #wrapper {
            margin: 0 auto;
            border-top: solid 2px #666;
        }

        #wrapper .lang-en {
            display: none;
        }

        #wrapper.lang-cn p.lang-cn {
            display: block;
        }

        #wrapper.lang-cn span.lang-cn {
            display: inline;
        }

        #wrapper.lang-cn .lang-en {
            display: none;
        }

        #wrapper.lang-en .lang-cn {
            display: none;
        }

        #wrapper.lang-en p.lang-en {
            display: block;
        }

        #wrapper.lang-en span.lang-en {
            display: inline;
        }

        #lang ul {
            float: right;
            margin: 0;
            padding: 2px 10px 4px 10px;
            background: #666;
            border-radius: 0 0 4px 4px;
            list-style: none;
        }

        #lang li {
            margin: 0;
            float: left;
            padding: 0 5px;
        }

        #lang li a {
            display: block;
            width: 24px;
            height: 24px;
            text-indent: -4em;
            overflow: hidden;
            background: transparent url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAHiSURBVHja1Ja/jtNAEMZ/Y2/icBdxXAMSEu/A1dBR0NJQ8CS8AQ0tb4CQgEegPgQFOh7ixJUX4vgSx96ZoUgOO3+KRDgFX7Or0Wg+f7PzeVfcnUMi4cA4OIEAARgAvY5r10AZgOGvl69Gkm4Xk9w3fJTg9f4MDz9+OA3AsSTC4OmThaQE3Bp9w+eRmy+hie2I8us3gOMABFNFkjlW5PTPIvOLAO7YVMjfC/Sd4YuK4nOGuyMiABv7v6pP7mKmACEAeK1YPuPoWU52FgkPUiaf+ngFDjCD+Q/Fproo1vrSbUPuvR4eF7kBwDRi4ynlzxkyUMrvKTZabbrPFb9Jd2qPh7BK4DGiRYFeTJmdC8nAsVKaUes72eOK6Xm2G0GaYhpXCTzPsXEBgOZN8unrktHbAddvAKrdCESwqmoItI74eILlkw0bjt4Zltdg+5hL8NhSYLGmurrCxuPN7Mv951+LAh1kLQWxBlUw68bDGtEqaStQiB0SRMWlbh1yXWPu+MIc/wzTiC0dslBQR0TArfWPwJdr21KyttLKaeJijvmaD0gTMF/z57pPt8W37E1xaylwU0iE5OhON2fgjreMVmuMXC/ntus7QYAT4BFwr+Piv4HL2xstu21Xh4jAXP77V8WfAQAixA0rudAk0AAAAABJRU5ErkJggg==") no-repeat 50% 50%;
        }

        #lang li a#lang-en {
            background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAIWSURBVHja1JY/SBthGIefu1xqS6K20KFDy0kopUiHmphIByUZotRAIZOTWZzFpYtbB0uh6KJTIdQhi9pBSwmmCOpgoUSKFItTh4AU6tCr16Rn5P58XZocDrlYuAz9wfHAcbzv9/2+932/k4QQdFIyHVbHE0iAAlwFgj7HNoG6AoRzudc/A4F/28yL2l7bb269yd9QgJAsS8zMjFIufyWRuHspXqtbnsHrH8oAIQlQJyfzlaGhCNFohJ2dI1Kp/iZ3d49IJvsvvJckmJ197JlACIEsy30KgGUJBgcjFIufSacfsLnpza2tL/x4+qx15fR0Uz84hL8HjG1blEqHJJP9bGx8IpMZ8CSAMIzWq1cUhO24CSzLYWTkPisrH8lm46yuenN9fZ+br156WmRZFgQLjR3YrK2VyWSiFAp7TEw88iTAyZNca4t6e6h/P3EbzTRtxscfks9vk83G27JaPcOuVls/v6o4pltlajo9L1KpebG8vC9isbm2jMXmRDsZhiEAVWn4NTU1ysJCkenpMRYXS55cWnrPcSThUUVhzrquNEeFOjz8vOI4CrXa+aU7+d3p29YJusMYwQD3Drb7AFRd14Xf0nXdtehbfAxdkhG13/5M0HCImiTcPhC2BVIAHMefOWrbCNxYqqZpvlukaVrTIrNye4CK1JH7xpSAXuAOcN3n4KfAceNG62qch4+ygHPpv/+r+DMAXV79BpyNnBoAAAAASUVORK5CYII=");
        }

        .figure_ul {
            text-align: center;
            padding: 0;
        }

        .figure_li {
            width: 30em;
            list-style: none;
            display: inline-block;
            vertical-align: baseline;
        }

        tr {
            height: 2em;
        }
    </style>
    <script language="javascript" type="text/javascript">
        var chartData_cn = [
            [11, "#1c965b", "通过"],
            [5, "#ff5722", "失败"],
            [1, "#ff9800", "错误"],
            [2, "#64b5f6", "跳过"]
        ];
        var chartData_en = [
            [11, "#1c965b", "Passed"],
            [5, "#ff5722", "Failed"],
            [1, "#ff9800", "Error"],
            [2, "#64b5f6", "Skipped"]
        ];

        function addClass(e, c) {
            if (!isClass(e, c)) {
                if (e.className) {
                    e.className = e.className + " " + c;
                } else {
                    e.className = c;
                }
            }
        }

        function delClass(e, c) {
            if (isClass(e, c)) {
                // r = '/(?:^|\s)' + c + '(?!\S)/g';
                let r = new RegExp('(?:^|\s)' + c + '(?!\S)', 'g');
                e.className = e.className.replace(r, '');
            }
        }

        function isClass(e, c) {
            let r = new RegExp('(?:^|\s)' + c + '(?!\S)');
            return e.className.match(r);
        }

        function showCase(level) {
            let trs = document.getElementsByTagName("tr");
            for (let i = 0; i < trs.length; i++) {
                let tr = trs[i];
                let id = tr.id;
                if (id.substr(0, 2) === "st") {
                    if (level === 4 || level === 3) {
                        delClass(tr, 'hiddenRow');
                    } else {
                        addClass(tr, 'hiddenRow');
                    }
                }
                if (id.substr(0, 2) === "ft") {
                    if (level === 4 || level === 2) {
                        delClass(tr, 'hiddenRow');
                    } else {
                        addClass(tr, 'hiddenRow');
                    }
                }
                if (id.substr(0, 2) === "pt") {
                    if (level === 4 || level === 1) {
                        delClass(tr, 'hiddenRow');
                    } else {
                        addClass(tr, 'hiddenRow');
                    }
                }
                if (id.substr(0, 2) === "et") {
                    if (level === 4 || level === 5 || level === 2) {
                        delClass(tr, 'hiddenRow');
                    } else {
                        addClass(tr, 'hiddenRow');
                    }
                }
                if (id.substr(0, 4) === "div_") {
                    addClass(tr, 'hiddenRow');
                }
            }
        }

        function showClassDetail(cid, count) {
            let id_list = Array(count);
            let toHide = 1;
            for (let i = 0; i < count; i++) {
                let tid0 = "t" + cid.substr(1) + "." + (i + 1);
                let tid = "f" + tid0;
                let tr = document.getElementById(tid);
                if (!tr) {
                    tid = "p" + tid0;
                    tr = document.getElementById(tid);
                    if (!tr) {
                        tid = "e" + tid0;
                        tr = document.getElementById(tid);
                        if (tr === null) {
                            tid = "s" + tid0;
                            tr = document.getElementById(tid);
                        }
                    }
                }
                id_list[i] = tid;
                if (tr.className) {
                    toHide = 0;
                }
            }
            for (let i = 0; i < count; i++) {
                let tid = id_list[i];
                if (toHide && tid.indexOf("p") !== -1) {
                    addClass(document.getElementById(tid), 'hiddenRow');
                } else {
                    delClass(document.getElementById(tid), 'hiddenRow');
                }
            }
            let trs = document.getElementsByTagName("tr");
            for (let i = 0; i < trs.length; i++) {
                let tr = trs[i];
                let id = tr.id;
                if (id.substr(0, 4) === "div_") {
                    addClass(tr, 'hiddenRow');
                }
            }
        }

        function showTestDetail(div_id, count, b) {
            let details_div_s = document.getElementsByName(div_id);
            for (let j = 0; j < details_div_s.length; j++) {
                let details_div = details_div_s[j];
                if (isClass(details_div, 'hiddenRow')) {
                    delClass(details_div, 'hiddenRow');
                } else {
                    addClass(details_div, "hiddenRow");
                }
            }
            for (let i = 1; i <= count; i++) {
                let details_div_s = document.getElementsByName(div_id + '.' + i);
                for (let j = 0; j < details_div_s.length; j++) {
                    let details_div = details_div_s[j];
                    if (details_div !== undefined) {
                        if (b && isClass(details_div, 'hiddenRow')) {
                            delClass(details_div, 'hiddenRow');
                        } else {
                            addClass(details_div, "hiddenRow");
                        }
                    }
                }
            }
        }

        function html_escape(s) {
            s = s.replace(/&/g, "&amp;");
            s = s.replace(/</g, "&lt;");
            s = s.replace(/>/g, "&gt;");
            return s;
        }

        function goChart(dataArr) {

            // 声明所需变量
            var canvas, ctx;
            // 图表属性
            var cWidth, cHeight, cMargin, cSpace;
            // 饼状图属性
            var radius, ox, oy;//半径 圆心
            var tWidth, tHeight;//图例宽高
            var posX, posY, textX, textY;
            var startAngle, endAngle;
            var totleNb;
            // 运动相关变量
            var ctr, numctr, speed;
            //鼠标移动
            var mousePosition = {};

            //线条和文字
            var lineStartAngle, line, textPadding, textMoveDis;

            // 获得canvas上下文
            canvas = document.getElementById("chart");
            if (canvas && canvas.getContext) {
                ctx = canvas.getContext("2d");
            }
            initChart();

            // 图表初始化
            function initChart() {
                // 图表信息
                cMargin = 20;
                cSpace = 40;

                canvas.width = canvas.parentNode.getAttribute("width") * 2;
                canvas.height = canvas.parentNode.getAttribute("height") * 2;
                canvas.style.height = canvas.height / 2 + "px";
                canvas.style.width = canvas.width / 2 + "px";
                cHeight = canvas.height - cMargin * 2;
                cWidth = canvas.width - cMargin * 2;

                //饼状图信息
                radius = cHeight * 2 / 6;  //半径  高度的2/6
                ox = canvas.width / 2 + cSpace;  //圆心
                oy = canvas.height / 2;
                tWidth = 60; //图例宽和高
                tHeight = 20;
                posX = cMargin;
                posY = cMargin;   //
                textX = posX + tWidth + 15
                textY = posY + 18;
                startAngle = endAngle = 90 * Math.PI / 180; //起始弧度 结束弧度
                rotateAngle = 0; //整体旋转的弧度

                //将传入的数据转化百分比
                totleNb = 0;
                new_data_arr = [];
                for (var i = 0; i < dataArr.length; i++) {
                    totleNb += dataArr[i][0];
                }
                for (var i = 0; i < dataArr.length; i++) {
                    new_data_arr.push(dataArr[i][0] / totleNb);
                }
                totalYNomber = 10;
                // 运动相关
                ctr = 1;//初始步骤
                numctr = 50;//步骤
                speed = 1.2; //毫秒 timer速度

                //指示线 和 文字
                lineStartAngle = -startAngle;
                line = 40;         //画线的时候超出半径的一段线长
                textPadding = 10;  //文字与线之间的间距
                textMoveDis = 200; //文字运动开始的间距
            }

            drawMarkers();
            //绘制比例图及文字
            function drawMarkers() {
                ctx.textAlign = "left";
                for (var i = 0; i < dataArr.length; i++) {
                    //绘制比例图及文字
                    ctx.fillStyle = dataArr[i][1];
                    ctx.fillRect(posX, posY + 40 * i, tWidth, tHeight);
                    ctx.moveTo(parseInt(posX) + 0.5, parseInt(posY + 40 * i) + 0.5);
                    ctx.font = 'normal 24px 微软雅黑';    //斜体 30像素 微软雅黑字体
                    ctx.fillStyle = dataArr[i][1]; //"#000000";
                    var percent = dataArr[i][2] + ":" + parseInt(100 * new_data_arr[i]) + "%";
                    ctx.fillText(percent, parseInt(textX) + 0.5, parseInt(textY + 40 * i) + 0.5);
                }
            };

            //绘制动画
            pieDraw();
            function pieDraw(mouseMove) {

                for (var n = 0; n < dataArr.length; n++) {
                    ctx.fillStyle = ctx.strokeStyle = dataArr[n][1];
                    ctx.lineWidth = 1;
                    var step = new_data_arr[n] * Math.PI * 2; //旋转弧度
                    var lineAngle = lineStartAngle + step / 2;   //计算线的角度
                    lineStartAngle += step;//结束弧度

                    ctx.beginPath();
                    var x0 = ox + radius * Math.cos(lineAngle),//圆弧上线与圆相交点的x坐标
                        y0 = oy + radius * Math.sin(lineAngle),//圆弧上线与圆相交点的y坐标
                        x1 = ox + (radius + line) * Math.cos(lineAngle),//圆弧上线与圆相交点的x坐标
                        y1 = oy + (radius + line) * Math.sin(lineAngle),//圆弧上线与圆相交点的y坐标
                        x2 = x1,//转折点的x坐标
                        y2 = y1,
                        linePadding = ctx.measureText(dataArr[n][2]).width + 10; //获取文本长度来确定折线的长度

                    ctx.moveTo(parseInt(x0) + 0.5, parseInt(y0) + 0.5);
                    //对x1/y1进行处理,来实现折线的运动
                    yMove = y0 + (y1 - y0) * ctr / numctr;
                    ctx.lineTo(parseInt(x1) + 0.5, parseInt(yMove) + 0.5);
                    if (x1 <= x0) {
                        x2 -= line;
                        ctx.textAlign = "right";
                        ctx.lineTo(parseInt(x2 - linePadding) + 0.5, parseInt(yMove) + 0.5);
                        ctx.fillText(dataArr[n][2], x2 - textPadding - textMoveDis * (numctr - ctr) / numctr, y2 - textPadding);
                    } else {
                        x2 += line;
                        ctx.textAlign = "left";
                        ctx.lineTo(parseInt(x2 + linePadding) + 0.5, parseInt(yMove) + 0.5);
                        ctx.fillText(dataArr[n][2], x2 + textPadding + textMoveDis * (numctr - ctr) / numctr, y2 - textPadding);
                    }

                    ctx.stroke();

                }

                //设置旋转
                ctx.save();
                ctx.translate(ox, oy);
                ctx.rotate((Math.PI * 2 / numctr) * ctr / 2);

                //绘制一个圆圈
                ctx.strokeStyle = "rgba(0,0,0," + 0.5 * ctr / numctr + ")"
                ctx.beginPath();
                ctx.arc(0, 0, (radius + 20) * ctr / numctr, 0, Math.PI * 2, false);
                ctx.stroke();

                for (var j = 0; j < dataArr.length; j++) {

                    //绘制饼图
                    endAngle = endAngle + new_data_arr[j] * ctr / numctr * Math.PI * 2; //结束弧度

                    ctx.beginPath();
                    ctx.moveTo(0, 0); //移动到到圆心
                    ctx.arc(0, 0, radius * ctr / numctr, startAngle, endAngle, false); //绘制圆弧

                    ctx.fillStyle = dataArr[j][1];
                    if (mouseMove && ctx.isPointInPath(mousePosition.x * 2, mousePosition.y * 2)) {
                        ctx.globalAlpha = 0.8;
                    }

                    ctx.closePath();
                    ctx.fill();
                    ctx.globalAlpha = 1;

                    startAngle = endAngle; //设置起始弧度
                    if (j == dataArr.length - 1) {
                        startAngle = endAngle = 90 * Math.PI / 180; //起始弧度 结束弧度
                    }
                }

                ctx.restore();

                if (ctr < numctr) {
                    ctr++;
                    setTimeout(function () {
                        //ctx.clearRect(-canvas.width,-canvas.width,canvas.width*2, canvas.height*2);
                        ctx.clearRect(-canvas.width, -canvas.height, canvas.width * 2, canvas.height * 2);
                        drawMarkers();
                        pieDraw();
                    }, speed *= 1.085);
                }
            }

            //监听鼠标移动
            var mouseTimer = null;
            canvas.addEventListener("mousemove", function (e) {
                e = e || window.event;
                if (e.offsetX || e.offsetX == 0) {
                    mousePosition.x = e.offsetX;
                    mousePosition.y = e.offsetY;
                } else if (e.layerX || e.layerX == 0) {
                    mousePosition.x = e.layerX;
                    mousePosition.y = e.layerY;
                }

                clearTimeout(mouseTimer);
                mouseTimer = setTimeout(function () {
                    ctx.clearRect(0, 0, canvas.width, canvas.height);
                    drawMarkers();
                    pieDraw(true);
                }, 10);
            });

        }

        function load() {
            let el_wrapper = document.getElementById('wrapper');
            document.getElementById('lang-cn').onclick = function () {
                el_wrapper.className = 'lang-cn';
                goChart(chartData_cn);
            };
            document.getElementById('lang-en').onclick = function () {
                el_wrapper.className = 'lang-en';
                goChart(chartData_en);
            };

            let nav_lang = (location.hash || '').replace(/#/, '');
            if (nav_lang === 'cn' || nav_lang === 'en') {
                el_wrapper.className = 'lang-' + nav_lang;
            }

            let images = document.getElementsByClassName("pic");
            let lens = images.length;
            let popup = document.getElementById("popup");

            function show(event) {
                event = event || window.event;
                let target = document.elementFromPoint(event.clientX, event.clientY);
                showBig(target.src, target.title, target.alt);
            }

            for (let i = 0; i < lens; i++) {
                images[i].onclick = show;
            }
            popup.onclick = function () {
                popup.getElementsByTagName("img")[0].src = "";
                popup.getElementsByTagName("img")[0].title = "";
                popup.getElementsByTagName("img")[0].alt = "";
                popup.style.display = "none";
                popup.style.zIndex = "-1";
            };

            function showBig(src, title, alt) {
                popup.getElementsByTagName("img")[0].src = src;
                popup.getElementsByTagName("img")[0].title = title;
                popup.getElementsByTagName("img")[0].alt = alt;
                popup.style.display = "block";
                popup.style.zIndex = "999999";
            }

            draw()
        }
        function draw() {
            goChart(chartData_cn);
        }</script>
</head>

<body onload="load()">
    <div id="wrapper" class="lang-cn">
        <div id="lang">
            <ul>
                <li>
                    <a href="#cn" id="lang-cn" title="简体中文">cn</a>
                </li>
                <li>
                    <a href="#en" id="lang-en" title="English">en</a>
                </li>
            </ul>
        </div>
        <div class='heading'>
            <h1>一个简单的测试报告</h1>
            <table>
                <tr>
                    <td style="width: 100%; vertical-align: top;">
                        <p class='attribute'>
                            <strong>
                                <span class="lang-cn">启动时间:</span>
                                <span class="lang-en">Start Time:</span>
                            </strong> 2021-03-14 15:45:17
                        </p>
                        <p class='attribute'>
                            <strong>
                                <span class="lang-cn">结束时间:</span>
                                <span class="lang-en">End Time:</span>
                            </strong> 2021-03-14 15:45:19
                        </p>
                        <p class='attribute'>
                            <strong>
                                <span class="lang-cn">运行时长:</span>
                                <span class="lang-en">Duration:</span>
                            </strong> 0:00:02.368438
                        </p>
                        <p class='attribute'>
                            <strong>
                                <span class="lang-cn">结果:</span>
                                <span class="lang-en">Status:</span>
                            </strong>
                            <span class="lang-cn">合计:</span>
                            <span class="lang-en">Total:</span>19&nbsp;&nbsp;&nbsp;&nbsp;
                            <span class="lang-cn">通过:</span>
                            <span class="lang-en">Passed:</span>11&nbsp;&nbsp;&nbsp;&nbsp;
                            <span class="lang-cn">失败:</span>
                            <span class="lang-en">Failed:</span>5&nbsp;&nbsp;&nbsp;&nbsp;
                            <span class="lang-cn">错误:</span>
                            <span class="lang-en">Error:</span>1&nbsp;&nbsp;&nbsp;&nbsp;
                            <span class="lang-cn">跳过:</span>
                            <span class="lang-en">Skipped:</span>2&nbsp;&nbsp;&nbsp;&nbsp;
                        </p>
                        <p class='description'>随意描述</p>
                    </td>
                    <td>
                        <div height="400" width="600">
                            <canvas id="chart" style="border: 1px solid #A4E2F9;"> 你的浏览器不支持HTML5 canvas </canvas>
                        </div>
                    </td>
                </tr>
            </table>
        </div> <a href='index.log'>
            <span class="lang-cn">下载日志文件</span>
            <span class="lang-en">Download log file</span>
        </a>
        <p id='show_detail_line'>筛选
            <a href='javascript:showCase(0)'>
                <span class="lang-cn">摘要</span>
                <span class="lang-en">Summary</span>
            </a>
            <a href='javascript:showCase(1)'>
                <span class="lang-cn">通过</span>
                <span class="lang-en">Pass</span>
            </a>
            <a href='javascript:showCase(2)'>
                <span class="lang-cn">失败</span>
                <span class="lang-en">Fail</span>
            </a>
            <a href='javascript:showCase(5)'>
                <span class="lang-cn">异常</span>
                <span class="lang-en">Error</span>
            </a>
            <a href='javascript:showCase(3)'>
                <span class="lang-cn">跳过</span>
                <span class="lang-en">Skip</span>
            </a>
            <a href='javascript:showCase(4)'>
                <span class="lang-cn">全部</span>
                <span class="lang-en">All</span>
            </a>
        </p>
        <table id='result_table'>
            <tr id='header_row'>
                <th>
                    <span class="lang-cn">序号</span>
                    <span class="lang-en">NO</span>
                </th>
                <th>
                    <span class="lang-cn">测试组/测试用例</span>
                    <span class="lang-en">Test Group/Test case</span>
                </th>
                <th>
                    <span class="lang-cn">计数</span>
                    <span class="lang-en">Count</span>
                </th>
                <th>
                    <span class="lang-cn">通过</span>
                    <span class="lang-en">Passed</span>
                </th>
                <th>
                    <span class="lang-cn">失败</span>
                    <span class="lang-en">Failed</span>
                </th>
                <th>
                    <span class="lang-cn">错误</span>
                    <span class="lang-en">Erroneous</span>
                </th>
                <th>
                    <span class="lang-cn">跳过</span>
                    <span class="lang-en">Skipped</span>
                </th>
                <th>
                    <span class="lang-cn">统计</span>
                    <span class="lang-en">Statistics</span>
                </th>
                <th>
                    <span class="lang-cn">重试</span>
                    <span class="lang-en">Tries</span>
                </th>
                <th>
                    <span class="lang-cn">查看</span>
                    <span class="lang-en">View</span>
                </th>
            </tr>
            <tr class='errorClass'>
                <td>c1</td>
                <td>TestOne: 常规测试</td>
                <td>6</td>
                <td class="passCase">2</td>
                <td class="failCase">1</td>
                <td class="errorCase">1</td>
                <td class="skipCase">2</td>
                <td style="text-align:right;">33.33%</td>
                <td>6</td>
                <td>
                    <a href="javascript:showClassDetail('c1',6)">
                        <span class="lang-cn">细节</span>
                        <span class="lang-en">Detail</span>
                    </a>
                </td>
            </tr>
            <tr id='et1.1'>
                <td>et1.1</td>
                <td class='errorCase' colspan='7'>
                    <div class='testcase'>test_error: 测试异常</div>
                </td>
                <td class='errorCase'>
                    <div class='testcase' style="margin-left: auto;">3</div>
                </td>
                <td class='errorCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_et1.1',4, false)">
                        <span class="lang-cn">错误</span>
                        <span class="lang-en">error</span>
                    </a>
                </td>
            </tr>
            <tr id='div_et1.1.1' name='div_et1.1' class="hiddenRow">
                <td>et1.1.1</td>
                <td colspan='7' class='errorCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 1 次尝试 </span>
                        <span class="lang-en"> Try 1 </span>
                    </div>
                </td>
                <td class='errorCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_et1.1.1',0, true)">
                        <span class="lang-cn">错误</span>
                        <span class="lang-en">error</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_et1.1.1' name='div_et1.1.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_et1.1.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>et1.1.1:
2021-03-14 15:45:17,568    6260     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:17,683    6260     INFO result.py(69) - 开始测试: test_error (__main__.TestOne)
2021-03-14 15:45:17,798    6260     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:17,868    6260  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:17,900    6260    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:17,901    6260     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:17,904    6260    ERROR result.py(175) - 测试产生错误: test_error (__main__.TestOne)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 41, in test_error
    self.assertTrue(int("5.2"))
ValueError: invalid literal for int() with base 10: '5.2'

2021-03-14 15:45:17,904    6260     INFO result.py(90) - 测试结束: test_error (__main__.TestOne)
2021-03-14 15:45:17,904    6260     INFO result.py(91) - 耗时: 0.10671520233154297

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_et1.1.2' name='div_et1.1' class="hiddenRow">
                <td>et1.1.2</td>
                <td colspan='7' class='errorCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 2 次尝试 </span>
                        <span class="lang-en"> Try 2 </span>
                    </div>
                </td>
                <td class='errorCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_et1.1.2',0, true)">
                        <span class="lang-cn">错误</span>
                        <span class="lang-en">error</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_et1.1.2' name='div_et1.1.2' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_et1.1.2').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>et1.1.2:
2021-03-14 15:45:17,905    6260     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:17,905    6260     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,006    6260     INFO result.py(69) - 开始测试: test_error (__main__.TestOne)
2021-03-14 15:45:18,006    6260     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:18,006    6260  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:18,007    6260    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:18,007    6260     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:18,007    6260    ERROR result.py(175) - 测试产生错误: test_error (__main__.TestOne)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 41, in test_error
    self.assertTrue(int("5.2"))
ValueError: invalid literal for int() with base 10: '5.2'

2021-03-14 15:45:18,008    6260     INFO result.py(90) - 测试结束: test_error (__main__.TestOne)
2021-03-14 15:45:18,008    6260     INFO result.py(91) - 耗时: 0.0019943714141845703

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_et1.1.3' name='div_et1.1' class="hiddenRow">
                <td>et1.1.3</td>
                <td colspan='7' class='errorCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 3 次尝试 </span>
                        <span class="lang-en"> Try 3 </span>
                    </div>
                </td>
                <td class='errorCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_et1.1.3',0, true)">
                        <span class="lang-cn">错误</span>
                        <span class="lang-en">error</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_et1.1.3' name='div_et1.1.3' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_et1.1.3').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>et1.1.3:
2021-03-14 15:45:18,008    6260     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:18,008    6260     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,110    6260     INFO result.py(69) - 开始测试: test_error (__main__.TestOne)
2021-03-14 15:45:18,111    6260     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:18,111    6260  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:18,111    6260    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:18,111    6260     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:18,111    6260    ERROR result.py(175) - 测试产生错误: test_error (__main__.TestOne)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 41, in test_error
    self.assertTrue(int("5.2"))
ValueError: invalid literal for int() with base 10: '5.2'

2021-03-14 15:45:18,111    6260     INFO result.py(90) - 测试结束: test_error (__main__.TestOne)
2021-03-14 15:45:18,112    6260     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_et1.1.4' name='div_et1.1' class="hiddenRow">
                <td>et1.1.4</td>
                <td colspan='7' class='errorCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 4 次尝试 </span>
                        <span class="lang-en"> Try 4 </span>
                    </div>
                </td>
                <td class='errorCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_et1.1.4',0, true)">
                        <span class="lang-cn">错误</span>
                        <span class="lang-en">error</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_et1.1.4' name='div_et1.1.4' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_et1.1.4').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>et1.1.4:
2021-03-14 15:45:18,112    6260     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:18,112    6260     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,216    6260     INFO result.py(69) - 开始测试: test_error (__main__.TestOne)
2021-03-14 15:45:18,216    6260     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:18,216    6260  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:18,216    6260    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:18,216    6260     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:18,217    6260    ERROR result.py(175) - 测试产生错误: test_error (__main__.TestOne)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 41, in test_error
    self.assertTrue(int("5.2"))
ValueError: invalid literal for int() with base 10: '5.2'

2021-03-14 15:45:18,217    6260     INFO result.py(90) - 测试结束: test_error (__main__.TestOne)
2021-03-14 15:45:18,218    6260     INFO result.py(91) - 耗时: 0.0009980201721191406

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='ft1.2'>
                <td>ft1.2</td>
                <td class='failCase' colspan='7'>
                    <div class='testcase'>test_false: 测试失败</div>
                </td>
                <td class='failCase'>
                    <div class='testcase' style="margin-left: auto;">3</div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft1.2',4, false)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_ft1.2.1' name='div_ft1.2' class="hiddenRow">
                <td>ft1.2.1</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 1 次尝试 </span>
                        <span class="lang-en"> Try 1 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft1.2.1',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft1.2.1' name='div_ft1.2.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft1.2.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft1.2.1:
2021-03-14 15:45:17,569   21800     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:17,683   21800     INFO result.py(69) - 开始测试: test_false (__main__.TestOne)
2021-03-14 15:45:17,759   21800     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:17,849   21800  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:17,900   21800    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:17,901   21800     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:17,903   21800  WARNING result.py(190) - 测试未通过: test_false (__main__.TestOne)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 33, in test_false
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:17,903   21800     INFO result.py(90) - 测试结束: test_false (__main__.TestOne)
2021-03-14 15:45:17,903   21800     INFO result.py(91) - 耗时: 0.14464235305786133

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_ft1.2.2' name='div_ft1.2' class="hiddenRow">
                <td>ft1.2.2</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 2 次尝试 </span>
                        <span class="lang-en"> Try 2 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft1.2.2',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft1.2.2' name='div_ft1.2.2' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft1.2.2').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft1.2.2:
2021-03-14 15:45:17,904   21800     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:17,904   21800     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,006   21800     INFO result.py(69) - 开始测试: test_false (__main__.TestOne)
2021-03-14 15:45:18,006   21800     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:18,007   21800  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:18,007   21800    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:18,007   21800     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:18,008   21800  WARNING result.py(190) - 测试未通过: test_false (__main__.TestOne)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 33, in test_false
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:18,008   21800     INFO result.py(90) - 测试结束: test_false (__main__.TestOne)
2021-03-14 15:45:18,008   21800     INFO result.py(91) - 耗时: 0.0019943714141845703

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_ft1.2.3' name='div_ft1.2' class="hiddenRow">
                <td>ft1.2.3</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 3 次尝试 </span>
                        <span class="lang-en"> Try 3 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft1.2.3',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft1.2.3' name='div_ft1.2.3' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft1.2.3').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft1.2.3:
2021-03-14 15:45:18,008   21800     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:18,008   21800     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,110   21800     INFO result.py(69) - 开始测试: test_false (__main__.TestOne)
2021-03-14 15:45:18,110   21800     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:18,110   21800  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:18,110   21800    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:18,110   21800     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:18,111   21800  WARNING result.py(190) - 测试未通过: test_false (__main__.TestOne)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 33, in test_false
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:18,112   21800     INFO result.py(90) - 测试结束: test_false (__main__.TestOne)
2021-03-14 15:45:18,112   21800     INFO result.py(91) - 耗时: 0.00186920166015625

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_ft1.2.4' name='div_ft1.2' class="hiddenRow">
                <td>ft1.2.4</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 4 次尝试 </span>
                        <span class="lang-en"> Try 4 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft1.2.4',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft1.2.4' name='div_ft1.2.4' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft1.2.4').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft1.2.4:
2021-03-14 15:45:18,112   21800     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:18,113   21800     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,216   21800     INFO result.py(69) - 开始测试: test_false (__main__.TestOne)
2021-03-14 15:45:18,216   21800     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:18,217   21800  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:18,217   21800    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:18,217   21800     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:18,217   21800  WARNING result.py(190) - 测试未通过: test_false (__main__.TestOne)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 33, in test_false
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:18,217   21800     INFO result.py(90) - 测试结束: test_false (__main__.TestOne)
2021-03-14 15:45:18,218   21800     INFO result.py(91) - 耗时: 0.0009980201721191406

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='pt1.3'>
                <td>pt1.3</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_image: 测试截图</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt1.3.1',1, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt1.3.1' name='div_pt1.3.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt1.3.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt1.3.1:
2021-03-14 15:45:17,569   16244     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:17,677   16244     INFO result.py(69) - 开始测试: test_image (__main__.TestOne)
2021-03-14 15:45:17,745   16244     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:17,836   16244  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:17,874   16244    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:17,907   16244     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:17,907   16244     INFO result.py(156) - 测试执行通过: test_image (__main__.TestOne)
2021-03-14 15:45:17,907   16244     INFO result.py(90) - 测试结束: test_image (__main__.TestOne)
2021-03-14 15:45:17,907   16244     INFO result.py(91) - 耗时: 0.1625657081604004

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <li class="figure_li">
                                    <figure>
                                        <img class="pic" src='images/image_16244_2021_03_14_15_45_17_958.jpg'
                                            title='百度一下,你就知道了。' alt='百度 0' />
                                    </figure>
                                    百度 0
                                </li>
                                <li class="figure_li">
                                    <figure>
                                        <img class="pic" src='images/image_16244_2021_03_14_15_45_17_444.jpg'
                                            title='百度一下,你就知道了。' alt='百度 1' />
                                    </figure>
                                    百度 1
                                </li>
                                <li class="figure_li">
                                    <figure>
                                        <img class="pic" src='images/image_16244_2021_03_14_15_45_17_160.jpg'
                                            title='百度一下,你就知道了。' alt='百度 2' />
                                    </figure>
                                    百度 2
                                </li>
                                <li class="figure_li">
                                    <figure>
                                        <img class="pic" src='images/image_16244_2021_03_14_15_45_17_540.jpg'
                                            title='百度一下,你就知道了。' alt='百度 3' />
                                    </figure>
                                    百度 3
                                </li>
                                <li class="figure_li">
                                    <figure>
                                        <img class="pic" src='images/image_16244_2021_03_14_15_45_17_563.jpg'
                                            title='百度一下,你就知道了。' alt='百度 4' />
                                    </figure>
                                    百度 4
                                </li>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='st1.4'>
                <td>st1.4</td>
                <td class='skipCase' colspan='7'>
                    <div class='testcase'>test_skip: 测试跳过</div>
                </td>
                <td class='skipCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='skipCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_st1.4.1',1, false)">
                        <span class="lang-cn">跳过</span>
                        <span class="lang-en">skip</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_st1.4.1' name='div_st1.4.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_st1.4.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>st1.4.1:
2021-03-14 15:45:17,570   23632     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:17,677   23632     INFO result.py(69) - 开始测试: test_skip (__main__.TestOne)
2021-03-14 15:45:17,683   23632     INFO result.py(142) - 跳过测试: test_skip (__main__.TestOne)
跳过用例
2021-03-14 15:45:17,775   23632     INFO result.py(90) - 测试结束: test_skip (__main__.TestOne)
2021-03-14 15:45:17,855   23632     INFO result.py(91) - 耗时: 0.09175562858581543

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='st1.5'>
                <td>st1.5</td>
                <td class='skipCase' colspan='7'>
                    <div class='testcase'>test_skip_: 测试中途跳过</div>
                </td>
                <td class='skipCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='skipCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_st1.5.1',1, false)">
                        <span class="lang-cn">跳过</span>
                        <span class="lang-en">skip</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_st1.5.1' name='div_st1.5.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_st1.5.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>st1.5.1:
2021-03-14 15:45:17,570   17292     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:17,677   17292     INFO result.py(69) - 开始测试: test_skip_ (__main__.TestOne)
2021-03-14 15:45:17,709   17292     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:17,811   17292  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:17,842   17292    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:17,887   17292     INFO HTMLReport_test.py(58) - 准备跳过
2021-03-14 15:45:17,901   17292     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:17,901   17292     INFO result.py(142) - 跳过测试: test_skip_ (__main__.TestOne)
中途跳过
2021-03-14 15:45:17,902   17292     INFO result.py(90) - 测试结束: test_skip_ (__main__.TestOne)
2021-03-14 15:45:17,903   17292     INFO result.py(91) - 耗时: 0.1934514045715332

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='pt1.6'>
                <td>pt1.6</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_true: 测试通过</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt1.6.1',1, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt1.6.1' name='div_pt1.6.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt1.6.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt1.6.1:
2021-03-14 15:45:17,900   23632     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,005   23632     INFO result.py(69) - 开始测试: test_true (__main__.TestOne)
2021-03-14 15:45:18,005   23632     INFO HTMLReport_test.py(14) - 测试开始
2021-03-14 15:45:18,005   23632  WARNING HTMLReport_test.py(15) - 测试开始
2021-03-14 15:45:18,005   23632    ERROR HTMLReport_test.py(16) - 测试开始
2021-03-14 15:45:18,005   23632     INFO HTMLReport_test.py(19) - 测试结束
2021-03-14 15:45:18,005   23632     INFO result.py(156) - 测试执行通过: test_true (__main__.TestOne)
2021-03-14 15:45:18,006   23632     INFO result.py(90) - 测试结束: test_true (__main__.TestOne)
2021-03-14 15:45:18,006   23632     INFO result.py(91) - 耗时: 0.0008597373962402344

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr class='passClass'>
                <td>c2</td>
                <td>TestDDT: DDT 测试</td>
                <td>3</td>
                <td class="passCase">3</td>
                <td class="failCase">0</td>
                <td class="errorCase">0</td>
                <td class="skipCase">0</td>
                <td style="text-align:right;">100.00%</td>
                <td>0</td>
                <td>
                    <a href="javascript:showClassDetail('c2',3)">
                        <span class="lang-cn">细节</span>
                        <span class="lang-en">Detail</span>
                    </a>
                </td>
            </tr>
            <tr id='pt2.1'>
                <td>pt2.1</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_a_1_0</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt2.1.1',1, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt2.1.1' name='div_pt2.1.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt2.1.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt2.1.1:
2021-03-14 15:45:18,218   25456     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,321   25456     INFO result.py(69) - 开始测试: test_a_1_0 (__main__.TestDDT)
2021-03-14 15:45:18,321   25456     INFO HTMLReport_test.py(76) - 测试开始
2021-03-14 15:45:18,322   25456     INFO data_driven.py(102) - args:
(0,)
2021-03-14 15:45:18,322   25456     INFO HTMLReport_test.py(79) - 测试结束
2021-03-14 15:45:18,322   25456     INFO result.py(156) - 测试执行通过: test_a_1_0 (__main__.TestDDT)
2021-03-14 15:45:18,323   25456     INFO result.py(90) - 测试结束: test_a_1_0 (__main__.TestDDT)
2021-03-14 15:45:18,323   25456     INFO result.py(91) - 耗时: 0.0019683837890625

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='pt2.2'>
                <td>pt2.2</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_a_2_1</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt2.2.1',1, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt2.2.1' name='div_pt2.2.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt2.2.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt2.2.1:
2021-03-14 15:45:18,218   25344     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,321   25344     INFO result.py(69) - 开始测试: test_a_2_1 (__main__.TestDDT)
2021-03-14 15:45:18,321   25344     INFO HTMLReport_test.py(76) - 测试开始
2021-03-14 15:45:18,321   25344     INFO data_driven.py(102) - args:
(1,)
2021-03-14 15:45:18,321   25344     INFO HTMLReport_test.py(79) - 测试结束
2021-03-14 15:45:18,321   25344     INFO result.py(156) - 测试执行通过: test_a_2_1 (__main__.TestDDT)
2021-03-14 15:45:18,321   25344     INFO result.py(90) - 测试结束: test_a_2_1 (__main__.TestDDT)
2021-03-14 15:45:18,322   25344     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='pt2.3'>
                <td>pt2.3</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_a_3_2</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt2.3.1',1, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt2.3.1' name='div_pt2.3.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt2.3.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt2.3.1:
2021-03-14 15:45:18,219   24756     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,322   24756     INFO result.py(69) - 开始测试: test_a_3_2 (__main__.TestDDT)
2021-03-14 15:45:18,322   24756     INFO HTMLReport_test.py(76) - 测试开始
2021-03-14 15:45:18,323   24756     INFO data_driven.py(102) - args:
(2,)
2021-03-14 15:45:18,323   24756     INFO HTMLReport_test.py(79) - 测试结束
2021-03-14 15:45:18,323   24756     INFO result.py(156) - 测试执行通过: test_a_3_2 (__main__.TestDDT)
2021-03-14 15:45:18,323   24756     INFO result.py(90) - 测试结束: test_a_3_2 (__main__.TestDDT)
2021-03-14 15:45:18,323   24756     INFO result.py(91) - 耗时: 0.0009980201721191406

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr class='passClass'>
                <td>c3</td>
                <td>TestRetry: 测试 DDT 重试</td>
                <td>3</td>
                <td class="passCase">3</td>
                <td class="failCase">0</td>
                <td class="errorCase">0</td>
                <td class="skipCase">0</td>
                <td style="text-align:right;">100.00%</td>
                <td>4</td>
                <td>
                    <a href="javascript:showClassDetail('c3',3)">
                        <span class="lang-cn">细节</span>
                        <span class="lang-en">Detail</span>
                    </a>
                </td>
            </tr>
            <tr id='pt3.1'>
                <td>pt3.1</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_a_1_0</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">3</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt3.1',4, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_pt3.1.1' name='div_pt3.1' class="hiddenRow">
                <td>pt3.1.1</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 1 次尝试 </span>
                        <span class="lang-en"> Try 1 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt3.1.1',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt3.1.1' name='div_pt3.1.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt3.1.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt3.1.1:
2021-03-14 15:45:18,324    7704     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,426    7704     INFO result.py(69) - 开始测试: test_a_1_0 (__main__.TestRetry)
2021-03-14 15:45:18,426    7704     INFO HTMLReport_test.py(107) - 测试开始
2021-03-14 15:45:18,426    7704     INFO data_driven.py(102) - args:
(0,)
2021-03-14 15:45:18,427    7704     INFO HTMLReport_test.py(110) - 测试结束
2021-03-14 15:45:18,427    7704  WARNING result.py(190) - 测试未通过: test_a_1_0 (__main__.TestRetry)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\HTMLReport\src\tools\data_driven.py", line 105, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 115, in test_a
    self.assertEqual(n, random.randint(0, 2))
AssertionError: 0 != 1

2021-03-14 15:45:18,427    7704     INFO result.py(90) - 测试结束: test_a_1_0 (__main__.TestRetry)
2021-03-14 15:45:18,428    7704     INFO result.py(91) - 耗时: 0.000997304916381836

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_pt3.1.2' name='div_pt3.1' class="hiddenRow">
                <td>pt3.1.2</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 2 次尝试 </span>
                        <span class="lang-en"> Try 2 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt3.1.2',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt3.1.2' name='div_pt3.1.2' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt3.1.2').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt3.1.2:
2021-03-14 15:45:18,428    7704     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:18,428    7704     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,531    7704     INFO result.py(69) - 开始测试: test_a_1_0 (__main__.TestRetry)
2021-03-14 15:45:18,531    7704     INFO HTMLReport_test.py(107) - 测试开始
2021-03-14 15:45:18,531    7704     INFO data_driven.py(102) - args:
(0,)
2021-03-14 15:45:18,531    7704     INFO HTMLReport_test.py(110) - 测试结束
2021-03-14 15:45:18,532    7704  WARNING result.py(190) - 测试未通过: test_a_1_0 (__main__.TestRetry)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\HTMLReport\src\tools\data_driven.py", line 105, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 115, in test_a
    self.assertEqual(n, random.randint(0, 2))
AssertionError: 0 != 1

2021-03-14 15:45:18,533    7704     INFO result.py(90) - 测试结束: test_a_1_0 (__main__.TestRetry)
2021-03-14 15:45:18,533    7704     INFO result.py(91) - 耗时: 0.0018227100372314453

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_pt3.1.3' name='div_pt3.1' class="hiddenRow">
                <td>pt3.1.3</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 3 次尝试 </span>
                        <span class="lang-en"> Try 3 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt3.1.3',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt3.1.3' name='div_pt3.1.3' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt3.1.3').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt3.1.3:
2021-03-14 15:45:18,533    7704     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:18,533    7704     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,635    7704     INFO result.py(69) - 开始测试: test_a_1_0 (__main__.TestRetry)
2021-03-14 15:45:18,635    7704     INFO HTMLReport_test.py(107) - 测试开始
2021-03-14 15:45:18,635    7704     INFO data_driven.py(102) - args:
(0,)
2021-03-14 15:45:18,635    7704     INFO HTMLReport_test.py(110) - 测试结束
2021-03-14 15:45:18,635    7704  WARNING result.py(190) - 测试未通过: test_a_1_0 (__main__.TestRetry)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\HTMLReport\src\tools\data_driven.py", line 105, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 115, in test_a
    self.assertEqual(n, random.randint(0, 2))
AssertionError: 0 != 2

2021-03-14 15:45:18,635    7704     INFO result.py(90) - 测试结束: test_a_1_0 (__main__.TestRetry)
2021-03-14 15:45:18,635    7704     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_pt3.1.4' name='div_pt3.1' class="hiddenRow">
                <td>pt3.1.4</td>
                <td colspan='7' class='passCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 4 次尝试 </span>
                        <span class="lang-en"> Try 4 </span>
                    </div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt3.1.4',0, true)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt3.1.4' name='div_pt3.1.4' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt3.1.4').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt3.1.4:
2021-03-14 15:45:18,635    7704     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:18,636    7704     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,737    7704     INFO result.py(69) - 开始测试: test_a_1_0 (__main__.TestRetry)
2021-03-14 15:45:18,737    7704     INFO HTMLReport_test.py(107) - 测试开始
2021-03-14 15:45:18,737    7704     INFO data_driven.py(102) - args:
(0,)
2021-03-14 15:45:18,737    7704     INFO HTMLReport_test.py(110) - 测试结束
2021-03-14 15:45:18,737    7704     INFO result.py(156) - 测试执行通过: test_a_1_0 (__main__.TestRetry)
2021-03-14 15:45:18,737    7704     INFO result.py(90) - 测试结束: test_a_1_0 (__main__.TestRetry)
2021-03-14 15:45:18,737    7704     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='pt3.2'>
                <td>pt3.2</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_a_2_1</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">1</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_pt3.2',2, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_pt3.2.1' name='div_pt3.2' class="hiddenRow">
                <td>pt3.2.1</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 1 次尝试 </span>
                        <span class="lang-en"> Try 1 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt3.2.1',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt3.2.1' name='div_pt3.2.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt3.2.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt3.2.1:
2021-03-14 15:45:18,324   11048     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,426   11048     INFO result.py(69) - 开始测试: test_a_2_1 (__main__.TestRetry)
2021-03-14 15:45:18,426   11048     INFO HTMLReport_test.py(107) - 测试开始
2021-03-14 15:45:18,426   11048     INFO data_driven.py(102) - args:
(1,)
2021-03-14 15:45:18,427   11048     INFO HTMLReport_test.py(110) - 测试结束
2021-03-14 15:45:18,427   11048  WARNING result.py(190) - 测试未通过: test_a_2_1 (__main__.TestRetry)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\HTMLReport\src\tools\data_driven.py", line 105, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 115, in test_a
    self.assertEqual(n, random.randint(0, 2))
AssertionError: 1 != 0

2021-03-14 15:45:18,428   11048     INFO result.py(90) - 测试结束: test_a_2_1 (__main__.TestRetry)
2021-03-14 15:45:18,428   11048     INFO result.py(91) - 耗时: 0.0020182132720947266

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_pt3.2.2' name='div_pt3.2' class="hiddenRow">
                <td>pt3.2.2</td>
                <td colspan='7' class='passCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 2 次尝试 </span>
                        <span class="lang-en"> Try 2 </span>
                    </div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt3.2.2',0, true)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt3.2.2' name='div_pt3.2.2' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt3.2.2').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt3.2.2:
2021-03-14 15:45:18,428   11048     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:18,428   11048     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,532   11048     INFO result.py(69) - 开始测试: test_a_2_1 (__main__.TestRetry)
2021-03-14 15:45:18,532   11048     INFO HTMLReport_test.py(107) - 测试开始
2021-03-14 15:45:18,532   11048     INFO data_driven.py(102) - args:
(1,)
2021-03-14 15:45:18,532   11048     INFO HTMLReport_test.py(110) - 测试结束
2021-03-14 15:45:18,532   11048     INFO result.py(156) - 测试执行通过: test_a_2_1 (__main__.TestRetry)
2021-03-14 15:45:18,532   11048     INFO result.py(90) - 测试结束: test_a_2_1 (__main__.TestRetry)
2021-03-14 15:45:18,532   11048     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='pt3.3'>
                <td>pt3.3</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_a_3_2</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt3.3.1',1, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt3.3.1' name='div_pt3.3.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt3.3.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt3.3.1:
2021-03-14 15:45:18,325   21160     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,430   21160     INFO result.py(69) - 开始测试: test_a_3_2 (__main__.TestRetry)
2021-03-14 15:45:18,430   21160     INFO HTMLReport_test.py(107) - 测试开始
2021-03-14 15:45:18,430   21160     INFO data_driven.py(102) - args:
(2,)
2021-03-14 15:45:18,430   21160     INFO HTMLReport_test.py(110) - 测试结束
2021-03-14 15:45:18,430   21160     INFO result.py(156) - 测试执行通过: test_a_3_2 (__main__.TestRetry)
2021-03-14 15:45:18,430   21160     INFO result.py(90) - 测试结束: test_a_3_2 (__main__.TestRetry)
2021-03-14 15:45:18,430   21160     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr class='failClass'>
                <td>c4</td>
                <td>TestNoRetry: 测试 DDT 不重试</td>
                <td>3</td>
                <td class="passCase">1</td>
                <td class="failCase">2</td>
                <td class="errorCase">0</td>
                <td class="skipCase">0</td>
                <td style="text-align:right;">33.33%</td>
                <td>0</td>
                <td>
                    <a href="javascript:showClassDetail('c4',3)">
                        <span class="lang-cn">细节</span>
                        <span class="lang-en">Detail</span>
                    </a>
                </td>
            </tr>
            <tr id='ft4.1'>
                <td>ft4.1</td>
                <td class='failCase' colspan='7'>
                    <div class='testcase'>test_a_1_0</div>
                </td>
                <td class='failCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft4.1.1',1, false)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft4.1.1' name='div_ft4.1.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft4.1.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft4.1.1:
2021-03-14 15:45:18,738   22872     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,841   22872     INFO result.py(69) - 开始测试: test_a_1_0 (__main__.TestNoRetry)
2021-03-14 15:45:18,842   22872     INFO HTMLReport_test.py(91) - 测试开始
2021-03-14 15:45:18,842   22872     INFO data_driven.py(102) - args:
(0,)
2021-03-14 15:45:18,843   22872     INFO HTMLReport_test.py(94) - 测试结束
2021-03-14 15:45:18,844   22872  WARNING result.py(190) - 测试未通过: test_a_1_0 (__main__.TestNoRetry)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\HTMLReport\src\tools\data_driven.py", line 105, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 99, in test_a
    self.assertEqual(n, random.randint(0, 2))
AssertionError: 0 != 2

2021-03-14 15:45:18,844   22872     INFO result.py(90) - 测试结束: test_a_1_0 (__main__.TestNoRetry)
2021-03-14 15:45:18,844   22872     INFO result.py(91) - 耗时: 0.002021312713623047

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='pt4.2'>
                <td>pt4.2</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_a_2_1</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt4.2.1',1, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt4.2.1' name='div_pt4.2.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt4.2.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt4.2.1:
2021-03-14 15:45:18,739   21804     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,841   21804     INFO result.py(69) - 开始测试: test_a_2_1 (__main__.TestNoRetry)
2021-03-14 15:45:18,841   21804     INFO HTMLReport_test.py(91) - 测试开始
2021-03-14 15:45:18,841   21804     INFO data_driven.py(102) - args:
(1,)
2021-03-14 15:45:18,841   21804     INFO HTMLReport_test.py(94) - 测试结束
2021-03-14 15:45:18,842   21804     INFO result.py(156) - 测试执行通过: test_a_2_1 (__main__.TestNoRetry)
2021-03-14 15:45:18,842   21804     INFO result.py(90) - 测试结束: test_a_2_1 (__main__.TestNoRetry)
2021-03-14 15:45:18,843   21804     INFO result.py(91) - 耗时: 0.0008668899536132812

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='ft4.3'>
                <td>ft4.3</td>
                <td class='failCase' colspan='7'>
                    <div class='testcase'>test_a_3_2</div>
                </td>
                <td class='failCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft4.3.1',1, false)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft4.3.1' name='div_ft4.3.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft4.3.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft4.3.1:
2021-03-14 15:45:18,739   21632     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,841   21632     INFO result.py(69) - 开始测试: test_a_3_2 (__main__.TestNoRetry)
2021-03-14 15:45:18,841   21632     INFO HTMLReport_test.py(91) - 测试开始
2021-03-14 15:45:18,842   21632     INFO data_driven.py(102) - args:
(2,)
2021-03-14 15:45:18,842   21632     INFO HTMLReport_test.py(94) - 测试结束
2021-03-14 15:45:18,843   21632  WARNING result.py(190) - 测试未通过: test_a_3_2 (__main__.TestNoRetry)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\HTMLReport\src\tools\data_driven.py", line 105, in wrapper
    return func(self, *args, **kwargs)
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 99, in test_a
    self.assertEqual(n, random.randint(0, 2))
AssertionError: 2 != 0

2021-03-14 15:45:18,843   21632     INFO result.py(90) - 测试结束: test_a_3_2 (__main__.TestNoRetry)
2021-03-14 15:45:18,843   21632     INFO result.py(91) - 耗时: 0.0018656253814697266

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr class='failClass'>
                <td>c5</td>
                <td>TestClassMethod: 测试 setUpClass</td>
                <td>2</td>
                <td class="passCase">1</td>
                <td class="failCase">1</td>
                <td class="errorCase">0</td>
                <td class="skipCase">0</td>
                <td style="text-align:right;">50.00%</td>
                <td>3</td>
                <td>
                    <a href="javascript:showClassDetail('c5',2)">
                        <span class="lang-cn">细节</span>
                        <span class="lang-en">Detail</span>
                    </a>
                </td>
            </tr>
            <tr id='pt5.1'>
                <td>pt5.1</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_1</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt5.1.1',1, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt5.1.1' name='div_pt5.1.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt5.1.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt5.1.1:
2021-03-14 15:45:18,844   24520     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,948   24520     INFO result.py(69) - 开始测试: test_1 (__main__.TestClassMethod)
2021-03-14 15:45:18,948   24520     INFO HTMLReport_test.py(134) - 前置计数:0
2021-03-14 15:45:18,948   24520     INFO HTMLReport_test.py(141) - 运行修改:1
2021-03-14 15:45:18,948   24520     INFO HTMLReport_test.py(137) - 后置计数:1
2021-03-14 15:45:18,948   24520     INFO result.py(156) - 测试执行通过: test_1 (__main__.TestClassMethod)
2021-03-14 15:45:18,948   24520     INFO result.py(90) - 测试结束: test_1 (__main__.TestClassMethod)
2021-03-14 15:45:18,949   24520     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='ft5.2'>
                <td>ft5.2</td>
                <td class='failCase' colspan='7'>
                    <div class='testcase'>test_2</div>
                </td>
                <td class='failCase'>
                    <div class='testcase' style="margin-left: auto;">3</div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft5.2',4, false)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_ft5.2.1' name='div_ft5.2' class="hiddenRow">
                <td>ft5.2.1</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 1 次尝试 </span>
                        <span class="lang-en"> Try 1 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft5.2.1',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft5.2.1' name='div_ft5.2.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft5.2.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft5.2.1:
2021-03-14 15:45:18,845   21464     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:18,948   21464     INFO result.py(69) - 开始测试: test_2 (__main__.TestClassMethod)
2021-03-14 15:45:18,949   21464     INFO HTMLReport_test.py(134) - 前置计数:1
2021-03-14 15:45:18,949   21464     INFO HTMLReport_test.py(145) - 运行修改:2
2021-03-14 15:45:18,949   21464     INFO HTMLReport_test.py(137) - 后置计数:2
2021-03-14 15:45:18,949   21464  WARNING result.py(190) - 测试未通过: test_2 (__main__.TestClassMethod)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 146, in test_2
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:18,949   21464     INFO result.py(90) - 测试结束: test_2 (__main__.TestClassMethod)
2021-03-14 15:45:18,949   21464     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_ft5.2.2' name='div_ft5.2' class="hiddenRow">
                <td>ft5.2.2</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 2 次尝试 </span>
                        <span class="lang-en"> Try 2 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft5.2.2',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft5.2.2' name='div_ft5.2.2' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft5.2.2').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft5.2.2:
2021-03-14 15:45:18,949   21464     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:18,950   21464     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:19,054   21464     INFO result.py(69) - 开始测试: test_2 (__main__.TestClassMethod)
2021-03-14 15:45:19,054   21464     INFO HTMLReport_test.py(134) - 前置计数:2
2021-03-14 15:45:19,054   21464     INFO HTMLReport_test.py(145) - 运行修改:3
2021-03-14 15:45:19,054   21464     INFO HTMLReport_test.py(137) - 后置计数:3
2021-03-14 15:45:19,054   21464  WARNING result.py(190) - 测试未通过: test_2 (__main__.TestClassMethod)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 146, in test_2
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:19,054   21464     INFO result.py(90) - 测试结束: test_2 (__main__.TestClassMethod)
2021-03-14 15:45:19,054   21464     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_ft5.2.3' name='div_ft5.2' class="hiddenRow">
                <td>ft5.2.3</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 3 次尝试 </span>
                        <span class="lang-en"> Try 3 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft5.2.3',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft5.2.3' name='div_ft5.2.3' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft5.2.3').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft5.2.3:
2021-03-14 15:45:19,054   21464     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:19,055   21464     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:19,155   21464     INFO result.py(69) - 开始测试: test_2 (__main__.TestClassMethod)
2021-03-14 15:45:19,155   21464     INFO HTMLReport_test.py(134) - 前置计数:3
2021-03-14 15:45:19,155   21464     INFO HTMLReport_test.py(145) - 运行修改:4
2021-03-14 15:45:19,155   21464     INFO HTMLReport_test.py(137) - 后置计数:4
2021-03-14 15:45:19,155   21464  WARNING result.py(190) - 测试未通过: test_2 (__main__.TestClassMethod)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 146, in test_2
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:19,155   21464     INFO result.py(90) - 测试结束: test_2 (__main__.TestClassMethod)
2021-03-14 15:45:19,155   21464     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_ft5.2.4' name='div_ft5.2' class="hiddenRow">
                <td>ft5.2.4</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 4 次尝试 </span>
                        <span class="lang-en"> Try 4 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft5.2.4',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft5.2.4' name='div_ft5.2.4' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft5.2.4').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft5.2.4:
2021-03-14 15:45:19,155   21464     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:19,156   21464     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:19,260   21464     INFO result.py(69) - 开始测试: test_2 (__main__.TestClassMethod)
2021-03-14 15:45:19,260   21464     INFO HTMLReport_test.py(134) - 前置计数:4
2021-03-14 15:45:19,260   21464     INFO HTMLReport_test.py(145) - 运行修改:5
2021-03-14 15:45:19,260   21464     INFO HTMLReport_test.py(137) - 后置计数:5
2021-03-14 15:45:19,261   21464  WARNING result.py(190) - 测试未通过: test_2 (__main__.TestClassMethod)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 146, in test_2
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:19,261   21464     INFO result.py(90) - 测试结束: test_2 (__main__.TestClassMethod)
2021-03-14 15:45:19,261   21464     INFO result.py(91) - 耗时: 0.0007965564727783203

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr class='failClass'>
                <td>c6</td>
                <td>HTMLReport_test.TestClassMethod: 测试 setUpClass</td>
                <td>2</td>
                <td class="passCase">1</td>
                <td class="failCase">1</td>
                <td class="errorCase">0</td>
                <td class="skipCase">0</td>
                <td style="text-align:right;">50.00%</td>
                <td>3</td>
                <td>
                    <a href="javascript:showClassDetail('c6',2)">
                        <span class="lang-cn">细节</span>
                        <span class="lang-en">Detail</span>
                    </a>
                </td>
            </tr>
            <tr id='pt6.1'>
                <td>pt6.1</td>
                <td class='passCase' colspan='7'>
                    <div class='testcase'>test_1</div>
                </td>
                <td class='passCase'>
                    <div class='testcase' style="margin-left: auto;">0</div>
                </td>
                <td class='passCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_pt6.1.1',1, false)">
                        <span class="lang-cn">通过</span>
                        <span class="lang-en">pass</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_pt6.1.1' name='div_pt6.1.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_pt6.1.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>pt6.1.1:
2021-03-14 15:45:19,261   25352     INFO HTMLReport_test.py(131) - 最终计数:5
2021-03-14 15:45:19,261   25352     INFO HTMLReport_test.py(127) - 初始计数:0
2021-03-14 15:45:19,262   25352     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:19,365   25352     INFO result.py(69) - 开始测试: test_1 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,365   25352     INFO HTMLReport_test.py(134) - 前置计数:0
2021-03-14 15:45:19,365   25352     INFO HTMLReport_test.py(141) - 运行修改:1
2021-03-14 15:45:19,365   25352     INFO HTMLReport_test.py(137) - 后置计数:1
2021-03-14 15:45:19,365   25352     INFO result.py(156) - 测试执行通过: test_1 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,365   25352     INFO result.py(90) - 测试结束: test_1 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,365   25352     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='ft6.2'>
                <td>ft6.2</td>
                <td class='failCase' colspan='7'>
                    <div class='testcase'>test_2</div>
                </td>
                <td class='failCase'>
                    <div class='testcase' style="margin-left: auto;">3</div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();' href="javascript:showTestDetail('div_ft6.2',4, false)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_ft6.2.1' name='div_ft6.2' class="hiddenRow">
                <td>ft6.2.1</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 1 次尝试 </span>
                        <span class="lang-en"> Try 1 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft6.2.1',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft6.2.1' name='div_ft6.2.1' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft6.2.1').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft6.2.1:
2021-03-14 15:45:19,365   25352     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:19,468   25352     INFO result.py(69) - 开始测试: test_2 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,468   25352     INFO HTMLReport_test.py(134) - 前置计数:1
2021-03-14 15:45:19,468   25352     INFO HTMLReport_test.py(145) - 运行修改:2
2021-03-14 15:45:19,468   25352     INFO HTMLReport_test.py(137) - 后置计数:2
2021-03-14 15:45:19,468   25352  WARNING result.py(190) - 测试未通过: test_2 (HTMLReport_test.TestClassMethod)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 146, in test_2
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:19,468   25352     INFO result.py(90) - 测试结束: test_2 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,469   25352     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_ft6.2.2' name='div_ft6.2' class="hiddenRow">
                <td>ft6.2.2</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 2 次尝试 </span>
                        <span class="lang-en"> Try 2 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft6.2.2',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft6.2.2' name='div_ft6.2.2' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft6.2.2').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft6.2.2:
2021-03-14 15:45:19,469   25352     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:19,469   25352     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:19,571   25352     INFO result.py(69) - 开始测试: test_2 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,571   25352     INFO HTMLReport_test.py(134) - 前置计数:2
2021-03-14 15:45:19,571   25352     INFO HTMLReport_test.py(145) - 运行修改:3
2021-03-14 15:45:19,571   25352     INFO HTMLReport_test.py(137) - 后置计数:3
2021-03-14 15:45:19,571   25352  WARNING result.py(190) - 测试未通过: test_2 (HTMLReport_test.TestClassMethod)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 146, in test_2
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:19,571   25352     INFO result.py(90) - 测试结束: test_2 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,571   25352     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_ft6.2.3' name='div_ft6.2' class="hiddenRow">
                <td>ft6.2.3</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 3 次尝试 </span>
                        <span class="lang-en"> Try 3 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft6.2.3',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft6.2.3' name='div_ft6.2.3' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft6.2.3').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft6.2.3:
2021-03-14 15:45:19,572   25352     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:19,572   25352     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:19,675   25352     INFO result.py(69) - 开始测试: test_2 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,675   25352     INFO HTMLReport_test.py(134) - 前置计数:3
2021-03-14 15:45:19,675   25352     INFO HTMLReport_test.py(145) - 运行修改:4
2021-03-14 15:45:19,676   25352     INFO HTMLReport_test.py(137) - 后置计数:4
2021-03-14 15:45:19,676   25352  WARNING result.py(190) - 测试未通过: test_2 (HTMLReport_test.TestClassMethod)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 146, in test_2
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:19,676   25352     INFO result.py(90) - 测试结束: test_2 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,676   25352     INFO result.py(91) - 耗时: 0.0007898807525634766

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='div_ft6.2.4' name='div_ft6.2' class="hiddenRow">
                <td>ft6.2.4</td>
                <td colspan='7' class='failCase'>
                    <div class='popup_retry_window'>
                        <span class="lang-cn"> 第 4 次尝试 </span>
                        <span class="lang-en"> Try 4 </span>
                    </div>
                </td>
                <td class='failCase' align='center'>
                    <a class="popup_link" onfocus='this.blur();'
                        href="javascript:showTestDetail('div_ft6.2.4',0, true)">
                        <span class="lang-cn">失败</span>
                        <span class="lang-en">fail</span>
                    </a>
                </td>
            </tr>
            <tr id='div_S_ft6.2.4' name='div_ft6.2.4' class="hiddenRow">
                <td colspan='10'>
                    <div class="popup_window">
                        <div style='text-align: right; color:red;cursor:pointer'
                            onclick="document.getElementById('div_S_ft6.2.4').className = 'hiddenRow'">
                            <a onfocus='this.blur();'>[x]</a>
                        </div>
                        <pre>ft6.2.4:
2021-03-14 15:45:19,676   25352     INFO result.py(112) - 等待 0 秒后重试
2021-03-14 15:45:19,676   25352     INFO result.py(67) - 测试延迟启动:0.1s
2021-03-14 15:45:19,777   25352     INFO result.py(69) - 开始测试: test_2 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,777   25352     INFO HTMLReport_test.py(134) - 前置计数:4
2021-03-14 15:45:19,777   25352     INFO HTMLReport_test.py(145) - 运行修改:5
2021-03-14 15:45:19,777   25352     INFO HTMLReport_test.py(137) - 后置计数:5
2021-03-14 15:45:19,777   25352  WARNING result.py(190) - 测试未通过: test_2 (HTMLReport_test.TestClassMethod)
Traceback (most recent call last):
  File "C:\Users\liush\Documents\GitHub\htmlreport\tests\HTMLReport_test.py", line 146, in test_2
    self.assertTrue(False)
AssertionError: False is not true

2021-03-14 15:45:19,777   25352     INFO result.py(90) - 测试结束: test_2 (HTMLReport_test.TestClassMethod)
2021-03-14 15:45:19,777   25352     INFO result.py(91) - 耗时: 0.0

</pre>
                        <div>
                            <ul class='figure_ul'>
                                <ul>
                        </div>
                    </div>
                </td>
            </tr>
            <tr id='total_row'>
                <td>&nbsp;</td>
                <td>
                    <span class="lang-cn">合计</span>
                    <span class="lang-en">Total</span>
                </td>
                <td>19</td>
                <td class="passCase">11</td>
                <td class="failCase">5</td>
                <td class="errorCase">1</td>
                <td class="skipCase">2</td>
                <td style="text-align:right;">57.89%</td>
                <td>16</td>
                <td>&nbsp;</td>
            </tr>
        </table>
        <div id='ending'>&nbsp;</div>
        <div id="popup">
            <div class="bg">
                <img src="" alt="" />
            </div>
        </div>
    </div>
</body>

</html>

生成的页面如下:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值