zoukankan      html  css  js  c++  java
  • 通过结合ddt的方法去加载运行excel当中的用例数据并生成报告

    加载用例的方法:

    方法一:#其他时候一般是使用的discover方法来查找当前工程下符合case数据
    discover = unittest.defaultTestLoader.discover(start_dir=casepath,
                                                   pattern='test*.py',
                                                   top_level_dir=None)
    print(discover)
    方法二:
    #但是在这里,要想通过结合ddt来获取excel当中的用例数据,并加载用例执行就只能使用unittest当中的Testloader()方法

    简单介绍:结合unittest当中的Testloader()

    '''
    unittest中的TestLoader使用说明
    第一步:unittest增加TestSuit()
    suite=unittest.TestSuite()
    第二步:unittest增加Testloader几种运行方式
    unittest.TestLoader().loadTestsFromTestCase(类名)
    unittest.TestLoader().loadTestsFromMoudule(模块名)
    unittest.TestLoader().loadTestsFromName(方法名)
    unittest.TestLoader().loadTestsFromNames(方法名,复数形式)
    第三步:在suite中增加运行方法
    suite.addTest(suite1)
    第四步:运行
    unittest.TextTestRunner().run(suite1)
    '''

    #以下为简单的一个函数使用,还可以将下面的分开写成函数方法并整合一下:------这里不写具体内容,可以看看前面的文章有具体方法介绍

    基本思路 比如这样:1加载excel用例到测试套件、2时间函数、3HTMLtestrunner来执行用例并生成报告、4发送邮件

    #!/usr/bin/python3
    # -*- coding:utf-8 -*-
    #Author:qika
    
    
    import unittest
    import time
    import os
    from Base import HTMLTestRunner
    from testcase.test_ddt_loadcase import DataTest
    
    
    
    
    
    def run_case(reportName='report'):
        #将excel里面的用例数据添加进入到unittest测试套件内
        suite = unittest.TestSuite()
        suite.addTests(unittest.TestLoader().loadTestsFromTestCase(DataTest))  #将test_ddt_loadcase import DataTest   这个类直接添加进去使用
        nowtime = time.strftime('%Y-%m-%d %H_%M_%S',time.localtime(time.time()))  #声明一个时间--可以写一个时间函数方法(前面的文章有介绍)
    
        basedir = os.path.dirname(os.path.dirname(__file__))  #获取到当前文件所在目录,的父级目录
        #print(basedir)
    
        reportPath = os.path.join(basedir,reportName)    #报告存放的文件夹目录
        report_abspath = os.path.join(reportPath,nowtime + '_result.html')  #实际的执行结果后,报告存放的路径
    
        fp = open(report_abspath,"wb")  #打开绝对路径下的报告
        runner = HTMLTestRunner.HTMLTestRunner(stream=fp,
                                                title='测试报告标题:这是本次自动化测试报告',
                                                description="这是本次用例执行情况,如下:",
                                                retry=1)  #retry表示失败重跑
    
        runner.run(suite)#运行测试套件(从excel读取的数据添加进去的)
    
    
    if __name__ == '__main__':
        run_case(suite)
  • 相关阅读:
    hackrank Sorting Array of Strings
    c programming create a file
    spine unity3D(摘自博主softimagewht)
    实现鼠标双击(OnGUI)
    使用Unity NGUIInputField组件输入时发现显示为白色就是看不到字体
    NGUI制作可滚动的文本框(摘,如有侵权,联系删除)
    Unity3d 简单的小球沿贝塞尔曲线运动(适合场景漫游使用)
    MVC简单随笔
    Unity脚本自动添加注释脚本及排版格式
    树和树的分类
  • 原文地址:https://www.cnblogs.com/QiKa/p/13836374.html
Copyright © 2011-2022 走看看