zoukankan      html  css  js  c++  java
  • python生成HTMl报告(unittest)

    Python3 使用HTMLTestRunner.py 报错ImportError: No module named 'StringIO'处理方法

    HTMLTestRunner.py文件是基于Python2的语法,python3使用需要修改语法:

    1.>>> 94行

    import io  # import StringIO

    2.>>> 539行

    self.outputBuffer = io.StringIO()

    3.>>> 631行

    print(sys.stderr,'
    Time Elapsed: %s' % (self.stopTime-self.startTime))# print >>sys.stderr, '
    Time Elapsed: %s' % (self.stopTime-self.startTime)

    4.>>> 642行

    if not cls in rmap:# if not rmap.has_key(cls):

    5.>>> 766行

    uo = e # uo = o.decode('latin-1')

    6.>>> 772行

    ue = e # ue = e.decode('latin-1')

    改完后的HTMLTestRunner.py

    python htmltestrunner.py下载好后放置位置

    文件下载不用修改的:

    链接:https://pan.baidu.com/s/1orJSihL8U_trJgiOvFaiXQ
    提取码:6jxe
    复制这段内容后打开百度网盘手机App,操作更方便哦

     

    放在*python3script
     或者放在当前项目文件夹下
     亦或者在python35下的lib文件夹下

    注意最好放在根目录下)

    from HTMLTestRunner import HTMLTestRunner #用这个导包会报错的时候就用下面这样的放到根目录下
    from pyJIAO.APP.APP.HTMLTestRunner import HTMLTestRunner #用这个导包就不会报错了

     python生成HTML报告代码:

    #unittest测试框架
    #pytest比unittest全面一点
    #导包
    import requests#导入接口用的包
    import unittest
    # from HTMLTestRunner import HTMLTestRunner
    # .HTMLTestRunner import HTMLTestRunner
    from pyJIAO.APP.APP.HTMLTestRunner import HTMLTestRunner

    import time


    class Test(unittest.TestCase):
    # 用于测试用例执行前的初始化工作
    def setUp(self):
    print("test start")

    def test_bbb(self):
    # print("test bbb")
    url = "http://v.juhe.cn/cccn/to_telecodes.php"
    para = {"chars": "北京", "key": "230a1fd1db939079697552e645799c0c"}
    # 发送get请求
    r = requests.get(url, params=para)

    # 获取json数据
    print(r.json())
    #
    # def test_aaa(self):
    # print("test aaa")
    #


    # 用于测试用例执行之后的善后工作
    def tearDown(self):
    print("test end")


    if __name__ == '__main__':
    suite = unittest.TestSuite()
    suite.addTest(Test("test_bbb"))
    # suite.addTest(Test("test_aaa"))
    now = time.strftime("%Y-%m-%d %H_%M_%S")
    # 定义报告存放路径
    filename = 'E:\' + now + 'result.html'
    # filename ='test3.html'#报告存放在当前目录
    print(filename)
    fp = open(filename, 'wb')
    # 定义测试报告
    runner = HTMLTestRunner(stream=fp, title='测试报告', description='用例执行情况:')
    runner.run(suite)
    fp.close() # 关闭报告文件

    没有不会的技术,只有你想不到的技术。。。。。。。。。。。。。。
  • 相关阅读:
    JDBC事务
    PreparedStatement预编译对象实现
    读取properties配置文件
    eclipse 快捷键总结
    JDBC编程六部曲
    JDBC 配置环境
    基于注解的DI(DI:Dependency Injection 依赖注入)
    基于XML的DI
    汇编call jmp理解
    常用jar包下载地址
  • 原文地址:https://www.cnblogs.com/zenghongfei/p/11758295.html
Copyright © 2011-2022 走看看