zoukankan      html  css  js  c++  java
  • day11_跨目录多个文件运行、多层级目录、数据驱动、关键字驱动

    import unittest
    import HTMLTestRunner
    suite = unittest.TestSuite() # 定义测试集合
    all_case = unittest.defaultTestLoader.discover(r'D:pythonyz-codeday11AUTOcase', '*.py')
    # 找到case目录下所有的.py文件
    for case in all_case: # 循环添加case到测试集合里面
    print('cases...', case)
    suite.addTests(case)
    fw = open('report.html', 'wb') # 如果没写绝对路径就在当前路径下生成report.html
    runner = HTMLTestRunner.HTMLTestRunner(stream=fw, title='多个文件运行')
    runner.run(suite)

    通过TestLoader加载测试用例,discover()里面有两个参数,第一个是路径,第二个是以什么规则找python文件,默认是指定路径下的测试用例,并在当前目录里生成一个report.html文件,可以看到报告

    如果是多层级的目录,应该怎么查找测试用例,cases目录下有多个目录,每个目录下有好多.py文件,代码如下:

    import unittest
    import BeautifulReport

    all_case = unittest.defaultTestLoader.discover('cases', '*.py') # discover里直接传个cases目录就行,下面有多少目录都不用传
    bf = BeautifulReport.BeautifulReport(all_case)
    bf.report(filename='多用例报告.html', description='哈哈哈')

    不能创建普通的Python File文件,要创建Python Package,多出一个__init__.py文件,看下面的目录结构

    __init__.py里是from . import mysql, redis,mysql.py里是name='mysql',redis.py里是name='redis',a.py的代码如下:

    import test
    print(test.mysql.name)
    print(test.redis.name)

    运行a.py会打印出mysql和redis,如果没有__init__.py这个文件就会报错,因为test(文件夹)不能.

    数据驱动就是通过读取数据去运行你的测试用例

    关键字驱动就是代码级、函数级驱动,每条测试用例是一个函数,ui自动化是关键字驱动,ui自动化不是检查数据的,只需要一套数据源就可以了

  • 相关阅读:
    Java架构师成长直通车百度云
    java架构师直通车百度云
    java架构师成长直通车
    初级Java程序员需要掌握哪些主流技术
    JAVA互联网架构师专题/分布式/高并发/微服务之咕泡学院学习笔记
    java架构师学习之路
    新手都能学懂的SpringBoot
    2020新版python最新就业班项目实战教程(完整)
    35个jQuery小技巧!
    web知识总结
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8602271.html
Copyright © 2011-2022 走看看