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)
  • 相关阅读:
    Spring MVC @PathVaribale注解
    Android XML解析并将数据存放在数据库中
    Android平台SoundPool 和 MediaPlayer
    Android编程获取网络连接状态(3G/Wifi)及调用网络配置界面
    程序员必备的七大面向对象设计原则(二)
    Android setRequestedOrientation用法
    Linux系统IP路由基础[第1部分]
    Android中解析XML
    Android学习笔记(6)————Android的线程与进程
    Eclipse最全快捷键
  • 原文地址:https://www.cnblogs.com/QiKa/p/13836374.html
Copyright © 2011-2022 走看看