实现用例中随意截图并添加到报告中

本文介绍了如何在测试用例执行过程中自定义截图,并将这些截图整合到测试报告中,以便于后期查阅。通过在用例中添加新方法并在需要截图的地方调用,配合修改HTMLTestRunner.py文件的相关部分,实现截图在报告中的展示。
摘要由CSDN通过智能技术生成

前文实现了让用例在失败是自动截图,但有时候,我们会想要用例在进行过程中也产生一些截图,并且想通过报告查看他们。这时候,我们可以在之前的基础上,在进行一些修改。
我们在测试用例中创建一个新方法,在想要调用截图的地方调用这个方法。这里的输出内容一定要是’screenshot’+路径。因为后面HTMLtestrunner中要以’screenshot’为关键字进行判断。

#截图
def screenshort(self):
    now = time.strftime("%Y-%m-%d-%H-%M-%S", time.localtime(time.time()))
    self.driver.get_screenshot_as_file( 'screenshot/'+now +".png")
    print  'screenshot:', now, '.png'

接下来就要修改一下HTMLTestRunner.py文件中的截图部分内容了:309行代码段中增加Screenshot内容

 HEADING_TMPL = """<div class='heading'>
<h1>%(title)s</h1>
%(parameters)s
<p class='description'>%(description)s</p>
</div>

"""  # variables: (title, parameters, description)

    HEADING_ATTRIBUTE_TMPL = """<p class='attribute'><strong>%(name)s:</strong> %(value)s</p>
"""  # variables: (name, value)

    # ------------------------------------------------------------------------
    # Report
    #

    REPORT_TMPL = """
<p id='show_detail_line'>Show
<a href='javascript:showCase(0)'>Summary</a>
<a href='javascript:showCase(1)'>Failed</a>
<a href='javascript:showCase(2)'>All</a>
</p>
<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>Test Group/Test case</td>
    <td>Count</td>
    <td>Pass</td>
    <td>Fail</td>
    <td>Error</td>
    <td>Skip</td>
    <td>View</td>
    <td>Screenshot</td>
</tr>
%(test_list)s
<tr id='total_row'>
    <td>Total</td>
    <td>%(count)s</td>
    <td>%(Pass)s</td>
    <td>%(fail)s</td>
    <td>%(error)s</td>
    <td>%(skip)s</td>
    <td> </td>
    <td> <a href="" target="_blank"></a></td>

</tr>
</table>
"""  # variables: (test_list, count, Pass, fail, error)

458行左右

 REPORT_TEST_WITH_OUTPUT_TMPL = r"""
<tr id='%(tid)s' class='%(Class)s'>
    <td class='%(style)s'><div class='testcase'>%(desc)s</div></td>
    <td colspan='6' 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  %(hidde)s  href="%(image)s">picture_shot</a>
    </td>
</tr>
"""  # variables: (tid, Class, style, desc, status)
    REPORT_TEST_NO_OUTPUT_TMPL = r"""
<tr id='%(tid)s' class='%(Class)s'>
    <td class='%(style)s'><div class='testcase'>%(desc)s</div></<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值