首页 前端知识 Python自定义HtmlTestRunner测试报告_htmltestrunner自动化测试报告

Python自定义HtmlTestRunner测试报告_htmltestrunner自动化测试报告

2024-06-20 00:06:48 前端知识 前端哥 571 658 我要收藏

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

需要这份系统化的资料的朋友,可以戳这里获取

先通过两张图片对比一下我们将要实现的功能:

图表 1

图表 2

如图所示,图表1是原始样式输出,图表2是修改后样式输出。通过对比我们可以看到,图表2比图表1多了首位部的两列。我在第一行加caseid,用来记录用例的编号,最后一列,添加了每一个用例执行过程中关键步骤的截图快照。

这样做的好处:

  1. 有了用例编号我们可以通过用例ID进行对用例的定位,尤其是对失败用例的定位。
  2. 有了用例执行过程中关键位置截图快照,对于失败或者出错异常的用例,在无人值守情况下进行执行用例时,可以进行界面追踪。

实现

下面来介绍怎么实现的,首先先说一下我实现的思路。对于这个我们的测试报告而言,我只想调整一下他的展示样式,丰富两列内容。所以先去想怎么去把他的样式给修改了。然后再往修改后的样式表格里面添加数据。

也就是分两步做:

1改样式

2加数据

改样式

改样式,这里只需要会基础的HTML

中行、列标识就可以了。

我们要在界面中加两列,那么很简单,就是加两个就可以了。

看源码部分:

从395行左右开始就是存储HTML代码展示的部分,找到table标签和第一行列头展示内容。

脚本片段1:

REPORT_TMPL = “””  ……   “”” 代码段里面包含了

的结构内容

如:

<table id="result\_table">
   <colgroup>
    <col align="left" />
    <col align="right" />
    <col align="right" />
    <col align="right" />
    <col align="right" />
    <col align="right" />
   </colgroup>
    <tr id="header\_row"> 
     <td colspan="2">Test Group/Test case</td> 
     <td>Count</td> 
     <td>Pass</td> 
     <td>Fail</td> 
     <td>Error</td>
     <td>View</td>
     <td>Screenshot</td>
    </tr>%(test_list)s    <tr id="total\_row"> 
     <td colspan="2">Total</td> 
     <td>%(count)s</td> 
     <td>%(Pass)s</td> 
     <td>%(fail)s</td> 
     <td>%(error)s</td> 
     <td>&nbsp;</td> 
     <td>&nbsp;</td>
    </tr>
  </table>

table标签中的第一个就是第一行,中的每一个代表一列。标签中间的文本是直接显示在界面的。

<tr id='header\_row'>
    //这里添加colspan='2' 是合并2个列。
    //因为下面的行中的caseid需要占一列,
    //但是标题列头部分显示是一个整体,所以做了合并 
    <td colspan='2'>Test Group/Test case</td>           
    <td>Count</td>
    <td>Pass</td>
    <td>Fail</td>
    <td>Error</td>
    <td>View</td>
    <td>Screenshot</td>    //图片快照的列头标题  
</tr>
脚本片段2:

REPORT_CLASS_TMPL = “”” … “””代码段 是 展示calss的行,可以叫做测试模块的类,它是单独放在一行中的,每个模块一行。因为要跟上面的第一行标题中的列数对应,所以修改如下:

<tr class='%(style)s'>
    //添加的caseid 的标题,这一行不在主列头,
    //而是放在测试模块用例统计所在的行里面。    <td>case_id</td>        
    <td>%(desc)s</td>
    <td>%(count)s</td>
    <td>%(Pass)s</td>
    <td>%(fail)s</td>
    <td>%(error)s</td>
    <td><a href="javascript:showClassDetail('%(cid)s',%(count)s)">Detail</a></td>
    <td>&nbsp;</td>  //保持列数统一,加入空白列  
</tr> 
脚本片段3:

REPORT_TEST_WITH_OUTPUT_TMPL = “”” … “”” 是测试用例展示部分代码,这段内容是展开测试模块后进行显示的

REPORT_TEST_WITH_OUTPUT_TMPL = r"""<tr id='%(tid)s' class='%(Class)s'>
    // %(caseid)s 是python转译html代码中变量替换方式。// caseid 会在python脚本中定义。    <td  align='center'>%(caseid)s</td>        <td class='%(style)s'>
        <div class='testcase'>%(desc)s</div>
    </td>
    <td colspan='5' align='center'>
    <!--css div popup start-->
        <a class="popup\_link" onfocus='this.blur();' href="javascript:showTestDetail('div\_%(tid)s')" >
            %(status)s        </a>
        <div id='div\_%(tid)s' class="popup\_window">
            <div style='text-align: right; color:red;cursor:pointer'>
                <a onfocus='this.blur();' onclick="document.getElementById('div\_%(tid)s').style.display = 'none' " >
                [x]</a>
            </div>
            <pre>%(script)s</pre>
        </div>
    <!--css div popup end-->
    </td>
    <td align='center'>
        <a href="%(image)s" title="%(image)s">  
        //这一列内容加入图片快照的链接访问路径 %(image)s 中替换链接地址    
            <img src="..\data\img.png" height=20 width=20 border=0 /></a>  


![img](https://img-blog.csdnimg.cn/img_convert/006bd8933b2a12a0a1bce3ba3cd59969.png)
![img](https://img-blog.csdnimg.cn/img_convert/b907842b8022d91b1ca11e8eb7c56ece.png)
![img](https://img-blog.csdnimg.cn/img_convert/4be7891f2882cea53b937652fb7c85ac.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

课程,涵盖了95%以上软件测试知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[需要这份系统化的资料的朋友,可以戳这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

转载请注明出处或者链接地址:https://www.qianduange.cn//article/12895.html
评论
发布的文章

JQuery中的load()、$

2024-05-10 08:05:15

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!