一个类似 pytest 的 html 报告

复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        table {
            border-collapse: collapse;
            width: 95%;
            margin: 0 auto;
        }
        table, th, td {
            border: 1px solid black;
        }
        .case-result {
            margin-top: 50px;
        }
        pre {
            white-space: pre-wrap;
            max-height: 600px;
            overflow: auto;
            font-size: 12px;
            background-color: #d7d7d7;
        }
        .hidden {
            display: none;
        }
    </style>

</head>
<body>
<table class="env">
    <thead>
        <tr>
            <th>配置名</th>
            <th>配置值</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>软件版本</td>
            <td>v1.0.0</td>
        </tr>
        <tr>
            <td>测试时间</td>
            <td>2025-10-20</td>
        </tr>
    </tbody>
</table>

<table class="case-result">
    <thead>
        <tr>
            <th>用例名称</th>
            <th style="width: 10%;">耗时(s)</th>
            <th style="width: 10%;">测试结果</th>
            <th>日志详情</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>用例1</td>
            <td>2</td>
            <td>成功</td>
            <td><button class="show_detail">显示/关闭详情</button></td>
        </tr>
        <tr class="detail hidden">
            <td colspan="4">
                <pre>
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
                </pre>
            </td>
        </tr>
                <tr>
            <td>用例2</td>
            <td>1</td>
            <td>成功</td>
            <td><button class="show_detail">显示/关闭详情</button></td>
        </tr>
        <tr class="detail hidden">
            <td colspan="4">
                <pre>
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
log
                </pre>
            </td>
        </tr>
    </tbody>
</table>
</body>
<script>
    let detail_btns = document.getElementsByClassName("show_detail")
    for(let btn of detail_btns){
        btn.addEventListener("click", ()=>{
            detail_elemnet = btn.parentNode.parentNode.nextElementSibling
            if(detail_elemnet.classList.contains("hidden")){
                detail_elemnet.classList.remove("hidden")
            }else{
                detail_elemnet.classList.add("hidden")
            }
        })
    }
</script>
</html>

显示效果

相关推荐
4z3312 分钟前
Android15 Framework(3):系统服务进程 SystemServer 解析
android·源码阅读
BD_Marathon21 分钟前
【JavaWeb】HTML_常见标签_表单项标签
html
没有了遇见1 小时前
Android 之Google Play bundletool 校验 AAB包
android·google
yuanhello1 小时前
【Android】Android的键值对存储方案对比
android·java·android studio
Ditglu.1 小时前
CentOS7 MySQL5.7 主从复制最终版搭建流程(避坑完整版)
android·adb
恋猫de小郭1 小时前
Android Studio Otter 2 Feature 发布,最值得更新的 Android Studio
android·前端·flutter
走在路上的菜鸟2 小时前
Android学Dart学习笔记第十二节 函数
android·笔记·学习·flutter
没有了遇见2 小时前
Android + Google Play:老项目适配实战指南
android·google
怀君2 小时前
Uniapp——开发Android插件教程
android·uni-app
Lei活在当下2 小时前
【Perfetto从入门到精通】1. 初识 Perfetto
android·性能优化·架构