zoukankan      html  css  js  c++  java
  • selenium+python—HTML生成报告代码

    Python自动化测试生成HTML测试报告

    HTMLTestRunner是Python标准库unittest单元测试框架的一个扩展,他生成易于使用的HTML测试报告。

    Ubuntu放置位置:输入Python3 命令进入Python交互模式,通过import sys 以及sys.path可以查看本机Python的安装目录

    root@ranxf:/home/ranxf# python3
    Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
    [GCC 5.4.0 20160609] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import sys
    >>> sys.p
    sys.path                 sys.platform             sys.ps2
    sys.path_hooks           sys.prefix               
    sys.path_importer_cache  sys.ps1                  
    >>> sys.path
    ['', '/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages']

    以root身份将HTMLTestRunner.py文件复制到/usr/local/lib/python3.5/dist-packages目录下。

    root@ranxf:/usr/local/lib/python3.5/dist-packages# ls
    selenium  selenium-3.7.0.dist-info
    root@ranxf:/usr/local/lib/python3.5/dist-packages# cp /home/ranxf/下载/HTMLTestRunner.py .
    root@ranxf:/usr/local/lib/python3.5/dist-packages# ls
    HTMLTestRunner.py  selenium  selenium-3.7.0.dist-info
    

    在交互模式导入模块,如果没有报错,则说明添加成功:

    root@ranxf:/usr/local/lib/python3.5/dist-packages# python3
    Python 3.5.2 (default, Nov 23 2017, 16:37:01) 
    [GCC 5.4.0 20160609] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> import HTMLTestRunner
    >>> 

     实例:遍历在该路径(/home/ranxf/python_web_unittest-master/test_case)下以test开头的所有用例。

    import unittest, time
    from HTMLTestRunner import HTMLTestRunner
    
    # 定义测试用例的目录为当前目录
    # test_dir = './test_case'
    # discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
    
    if __name__ == '__main__':
    
        test_dir = '/home/ranxf/python_web_unittest-master/test_case'
        test_report = '/home/ranxf/python_web_unittest-master/report'
    
        discover = unittest.defaultTestLoader.discover(test_dir, pattern='test*.py')
    
        # 按照一定格式获取当前时间
        now = time.strftime("%Y-%m-%d %H_%M_%S")
    
        # 定义报告存放路径
    
        # filename = './' + now + ' result.html'
        filename = test_report + '/' + now + 'result.html'
        fp = open(filename, 'wb')
    
        # 定义测试报告
        runner = HTMLTestRunner(stream=fp,
                                title='web测试报告',
                                description='用例执行情况: ')
        runner.run(discover)
        fp.close()

    测试项目目录结构如下:

    root@ranxf:/home/ranxf/python_web_unittest-master# tree 
    .
    ├── report
    ├── runtest.py
    └── test_case
        ├── test_baidu.py
        └── test_youdao.py
    report:放置HTML报告的目录;
    runtest.py:遍历测试用例的主程序;
    test_case:用例放置目录
    运行后的目录结构:
    root@ranxf:/home/ranxf/python_web_unittest-master# tree
    .
    ├── report
    │   └── 2017-12-26 15_56_59result.html
    ├── runtest.py
    └── test_case

        ├── test_baidu.py
        └── test_youdao.py
    
    
    
  • 相关阅读:
    一周之内了解一个行业的方法
    du命令 实现Linux 某个文件夹下的文件按大小排序
    蝴蝶效应、青蛙现象、鳄鱼法则、鲇鱼效应.......
    MYSQ提高L查询效率的策略总结
    12个高矮不同的人,排成两排(catalan数)
    四人过桥、三盏灯 三个开关 的答案
    给定一个存放整数的数组,重新排列数组使得数组左边为奇数,右边为偶数。
    一个int 数组,里面数据无任何限制,要求求出所有这样的数a[i],其左边的数都小于等于它,右边的数都大于等于它。能否只用一个额外数组和少量其它空间实现。
    二分检索(查找)的各种变种
    排序算法稳定性
  • 原文地址:https://www.cnblogs.com/ranxf/p/8118467.html
Copyright © 2011-2022 走看看