• 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自动化不是检查数据的,只需要一套数据源就可以了

  • 相关阅读:
    spring前两天
    代理模式
    学习spring第三天
    Spring集成MyBatis配置文件
    学习spring第二天
    学习spring第一天
    Bind关闭递归查询
    织梦DedeCMS v5.7 实现导航条下拉菜单
    Debian下修改系统时间的方式
    js禁止页面复制功能禁用页面右键菜单示例代码
  • 原文地址:https://www.cnblogs.com/laosun0204/p/8602271.html
Copyright © 2020-2023  润新知