web自动化测试实战之生成测试报告

同志们,老铁们,继上篇文章 web自动化测试实战之批量执行测试用例 以后咱们接着继续往下走,有人说咱们运行了全部测试用例,控制台输入的结果,若是不少测试用例那也不可以清晰快速的知道多少用例经过率以及错误状况。html

 

web自动化测试实战之批量执行测试用例 场景: 运行  AllTest.py 文件后获得的测试结果不够专业,没法直观的分析测试结果,咱们可否有一个报告直接展现我测试用例运行的测试结果呢。答案是,固然有。python

 

这里咱们须要借助第三方库生成HTML格式的测试报告。这里用到的库是 HTMLTestRunner.py / HTMLTestReportCN.py 文件存放路径为 Python安装路径的Lib子文件夹中例如:F:\python3\Lib 以下图,那么当咱们将包成功导入到LIb目录下后,咱们能够在 AllTest.py 代码开头直接引用咱们对应的报告格式包。web

 

备注: HTMLTestRunner.py  HTMLTestReportCN.py  一会最后小编会将包打包好推送给你们,都是基于Python3源码都根据python3修改支持使用的,2个包用法是一致,只是展现报告的风格不一样一下子小编会给你介绍大概样式,各位能够喜欢那种就引用哪一种。单元测试

 

如今咱们的包导入进来,接着咱们要作的是生成的报告咱们也要建立一个目录存在报告文件例如:'F:\\python3\\report'  ,好报告的包导入了,存放报告的目录咱们也建立好了,那么咱们来看看基于上篇 AllTest.py 执行全部测试用例直接输出到报告怎么写测试

 

01.第一种咱们引用的 HTMLTestReportCN.py 以下代码ui

# -*-coding=utf-8-*-
import unittest
import os, time
import HTMLTestReportCN

# 用例路径
case_path = 'F:\\python3\\python_code\\test_case_suite'


def AllTest():
    '''获取全部的测试模块'''
    suite = unittest.TestLoader().discover(
        start_dir=os.path.dirname(case_path),
        pattern='case*.py',
        top_level_dir=None
    )
    return suite


def getNowTime():
    '''获取当前的时间'''
    return time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))


def run():
    fileName = os.path.join('F:\\python3\\report',
                            getNowTime() + 'report.html')

    fp = open(fileName,'wb')
    runner = HTMLTestReportCN.HTMLTestRunner(
        stream=fp,
        title=u'项目测试环境单元测试报告',
        description=u'注:为减小时间人力成本,提升转测质量,特每次对测试环境待发布的代码会对基础功能模块进行单元测试,进一步的提升测试效率,以下为用例执行结果,请查阅!')

    runner.run(AllTest())


if __name__ == '__main__':
    run()

  

注解:在以上完善后的AllTest.py文件中其中导入了os,timemo模块、HTMLTestReportCN 库。getNowTime 方法用来获取当前时间,每一次生成的测试报告若是文件名称一致,因为加上了最新时间信息,即可以根据文件名称确认哪一个是最新的测试报告3d

 

run 方法用来执行测试套件中的测试用例和生成测试报告。在report 文件夹下生成了最新的测试报告,report的目录以下图所示code

 

 

 02.第二种咱们引用的 HTMLTestRunner.py 以下代码htm

# -*-coding=utf-8-*-
import unittest
import os, time
import HTMLTestRunner

# 用例路径
case_path = 'F:\\python3\\python_code\\test_case_suite'


def AllTest():
    '''获取全部的测试模块'''
    suite = unittest.TestLoader().discover(
        start_dir=os.path.dirname(case_path),
        pattern='case*.py',
        top_level_dir=None
    )
    return suite


def getNowTime():
    '''获取当前的时间'''
    return time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime(time.time()))


def run():
    fileName = os.path.join('F:\\python3\\report',
                            getNowTime() + 'report.html')

    fp = open(fileName,'wb')
    runner = HTMLTestRunner.HTMLTestRunner(
        stream=fp,
        title=u'巡服带教测试环境单元测试报告',
        description=u'注:为减小时间人力成本,提升转测质量,特每次对测试环境待发布的代码会对基础功能模块进行单元测试,进一步的提升测试效率,以下为用例执行结果,请查阅!')

    runner.run(AllTest())


if __name__ == '__main__':
    run()

  

 查看报告输出样式blog

 

 

以上就是web自动化批量执行用例以后若是生成报告文件,最近工做比较繁忙,会抽空给你们分享好文,持续分享持续输出,但愿本文对大家会有所帮助。

相关文章
相关标签/搜索