mac 电脑下添加 HTMLtestrunner.py 生成 报表
HTMLTestRunner是Python标准库unittest模块的一个扩展。它生成易于使用的HTML测试报告。
1.下载HTMLTestRunner.py模块地址
http://tungwaiyip.info/software/HTMLTestRunner.html
2.导入模块有多种方式,这里我们将模块放在python的第三方非标准模块库
mac下python第三方非标准模块库位置:/Library/Python/2.7/site-packages
查看方式:
$ python Python 2.7.10 (default, Oct 23 2015, 18:05:06) [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.path
3.新建一个HTMLTestRunner文件夹,并在文件夹下新建一个空的__init__.py文件,这样文件夹HTMLTestRunner就变成了一个可以导入的包,然后将HTMLTestRunner.py也放入文件夹里。
4.现在就可以使用HTMLTestRunner模块啦
# coding=utf-8 import unittest from test_case import test_baidu from HTMLTestRunner import HTMLTestRunner #构造测试集 suite = unittest.TestSuite() suite.addTest(test_baidu.MyTest("test_baidu")) if __name__ == '__main__': '''不使用HTMLTestRunner的方式执行用例 runner = unittest.TextTestRunner() runner.run(suite) ''' #定义报告存放路径 fp = open('./report/result.html','wb') runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title=u'百度搜索测试报告',description=u'用例执行情况:') runner.run(suite) fp.close()
注意: 引包的时候要
from HTMLTestRunner import HTMLTestRunner (这里纠结了老半天)
(mac电脑下不知道为啥直接把HTMLtestrunner.py放到python主目录下 或者指定文件位置 都是会报错,一定要按本文的方法才成功!!!!!!!)
知识扩展:
要弄明白这个问题,首先要知道,python在执行import语句时,到底进行了什么操作,按照python的文档,它执行了如下操作:
第 1步,创建一个新的,空的module对象(它可能包含多个module);
第 2步,把这个module对象插入sys.module中
第 3步,装载module的代码(如果需要,首先必须编译)
第 4步,执行新的module中对应的代码。
在执行第3步时,首先要找到module程序所在的位置,搜索的顺序是:
当前路径 (以及从当前目录指定的sys.path),然后是PYTHONPATH,然后是python的安装设置相关的默认路径。正因为存在这样的顺序,如果当前路径或PYTHONPATH中存在与标准module同样的module,则会覆盖标准module。也就是说,如果当前目录下存在xml.py,那么执行import xml时,导入的是当前目录下的module,而不是系统标准的xml。
了解了这些,我们就可以先构建一个package,以普通module的方式导入,就可以直接访问此package中的各个module了。python中的package必须包含一个__init__.py的文件。
------以上引用“老王python”
后记:
这里看到教程 说下载下来的HTMLTestRunner.py模块,应该放到
下次试试