1.先导入HTMLTestRunner模块

2.实例一脚本如下

#coding=utf-8

import unittest

import HTMLTestRunner

#封装批量执行用例

def all_case():

    case_dir=r'D:\work_doc\pycharm\python_selenium'#用例存放路径

 discover=unittest.defaultTestLoader.discover(case_dir,pattern='unittest_frame.py',top_level_dir=None)

    return discover

if __name__ == "__main__":

    # runner = unittest.TextTestRunner()

    # runner.run(all_case())

#测试报告生成

    test='D:\\test.html'#报告存放的路径

    path=file(test,'wb')#‘wb’新建或者打开一个二进制文件,写入执行完的数据

    r=HTMLTestRunner.HTMLTestRunner(stream=path,title=u'百度搜索报告',description=u'用例执行详情')

    r.run(all_case())

        #写完报告关闭文件

    path.close()

3.解释

   wb 只写打开或新建一个二进制文件;只允许写数据。

   wb+ 读写打开或建立一个二进制文件,允许读和写。

   ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。

--stream:测试报告写入文件的存储路径

--title:测试报告的主题

--description:测试报告的描述

4.实例二

#coding=utf-8

import unittest   #单元测试模块

import HTMLTestRunner  #用来生成报告的模块

class TestCalc(unittest.TestCase):

    def testcc(self):    #函数名要以test开头,否则不会被执行

        self.assertEqual(1,1)

        print(u'第一个用例')

    def testaa(self):

        self.assertEqual(1,2)

        print(u'第二个用例')

    def testdd(self):

        print(u'第三个用例')

    def testbb(self):

        print(u'第四个用例')

suite = unittest.TestSuite()  #定义一个测试集合

suite.addTest(unittest.makeSuite(TestCalc))  #把写的用例加进来(将TestCalc类)加进来

f = open('D:\\test1.html','wb')  #以二进制模式打开一个文件

runner = HTMLTestRunner.HTMLTestRunner(f,title=u'unittest用例标题',description=u'这是用例描述')

runner.run(suite)  #运行用例(用例集合)

f.close()
05-11 20:07