python+unittest+HTMLTestRunner生成测试报告

结合python+unittest+HTMLTestRunner自动生成测试报告:

开发构思:

  1、在测试方法相同时,测试多个不同参数的测试情况;(unittest自动根据参数条数生成多个的方法)

  2、可统计测试情况;

  3、测试情况数据过滤;

  4、日志记录失败的测试方法;

测试报告预览

 

resultHtml.py文件,自动测试指定目录下的文件

#coding=utf-8
from lib.HTMLTestRunner import HTMLTestRunner  
import time  
import unittest
import os
#from dataExcel import dataExcel
import time
#定义测试用例的目录为当前目录  
test_dir=os.path.dirname(os.path.realpath(__file__))
test_dir1 = test_dir +'\\resultHtmlFile'  
discover = unittest.defaultTestLoader.discover(test_dir,pattern = 'testExcelType*.py') 
  
if __name__=="__main__":  
  
    #按照一定的格式获取当前的时间  
    now = time.strftime("%Y-%m-%d %H-%M-%S")  
      
    #定义报告存放路径  
    filename =test_dir1 + '/' + now + 'test_result.html'  
      
    fp = open(filename,"wb")  
#以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
    #定义测试报告  
    runner = HTMLTestRunner(stream =  fp,  
                            title = u"接口测试报告",  
                            description = u"测试用例执行情况:")  
    #运行测试  
    runner.run(discover)  
    fp.close() #关闭报告文件

testExcelType.py文件,执行测试方法

 

import unittest
import time
import requests
from data.dataExcelType import dataExcelType
import os
# 导入自定义的logging配置
from logs.log import Logger 
import time
import json
from common.login import Login

class TestDemo(unittest.TestCase):
    cur_path=os.path.dirname(os.path.realpath(__file__))
    xlsxName = r'\inteData.xlsx'

    dataExcelType = dataExcelType(cur_path,cur_path_json,xlsxName,0)
    

    #为批量生成测试用例提供数据
    @parameterized.expand(dataExcelType)
    
    def testcase(self,a):
        u'''测试接口'''
      
        logs = Logger().get_logger()
        logs.info("开始执行用例:-------------- %s ,%s" % (a['params'],a['result']))
        
        time.sleep(0.5)
       
        #要测试的操作代码
        #....          

if __name__ == "__main__":
    
    unittest.main(verbosity=2)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值