思考:当存在多个脚本,每个脚本中有多条测试用例时,我们该如何批量执行呢?

分析:首先创建2个测试用例脚本(.py文件),每个脚本有2条测试用例,然后批量执行全部测试用例
#Test_01.py
# coding=utf-8
'''
Created on 2019-1-3
@author: 丹姐
Project:测试项目1
'''
import unittest class Test01(unittest.TestCase):
@classmethod
def setUpClass(cls,driver):
cls.driver=driver
def setUp(self):
pass
def test_one(self):
print(u'测试用例test_one')
def test_two(self):
print(u'测试用例test_two')
def tearDown(self):
pass
@classmethod
def tearDownClass(cls):
cls.driver.quit()
#Test_02.py
# coding=utf-8
'''
Created on 2019-1-3
@author: 丹姐
Project:测试项目2
'''
import unittest class Test02(unittest.TestCase):
@classmethod
def setUpClass(cls,driver):
cls.driver=driver
def setUp(self):
pass
def test_first(self):
print(u'测试用例test_first')
def test_second(self):
print(u'测试用例test_second')
def tearDown(self):
pass
@classmethod
def tearDownClass(cls):
cls.driver.quit()

方法一:利用TestSuite类addTest方法依次加载

if __name__ == "__main__":
 #实例化测试套件
suite = unittest.TestSuite()
#用例加载到测试套件中
suite.addTest(Test01("test_one"))
suite.addTest(Test01("test_two"))
suite.addTest(Test02("test_first"))
suite.addTest(Test02("test_second"))
方法二:利用defaultTestLoader类discover方法找出所有.py文件下测试用例,然后加载到suite
注意:discover方法测试用例执行顺序是根据ASCII码来执行的,0~9,A~Z,a~z
if __name__ == "__main__":
    test_dir = r'E://testing_code/code/SmartSiteTestScript/src/test_case'  # 指明要自动查找的py文件所在文件夹路径
# 产生测试套件
def createSuite():
#实例化测试套件
testunit = unittest.TestSuite()
# 使用discover找出用例文件夹test_case的所有用例
discover = unittest.defaultTestLoader.discover(test_dir, # 查找的文件夹路径
pattern='Test_*.py') # 要测试的模块名,以Test开头的.py文件) for suite in discover: # 使用for循环出suite,再循环出case
for case in suite:
testunit.addTests(case)
print(testunit)
return testunit
#实例化测试套件方法
suite = createSuite()
除了以上2种方法,还有其他方法,比如测试用例参数化方法,待后续说明.....

最新文章

  1. C#中的日期处理函数
  2. spring事务与消息队列
  3. 20145303 20145339 《信息安全系统设计基础》 实验五 简单嵌入式WEB服务器实验
  4. 【转】mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句
  5. sqlserver日常维护脚本
  6. [SQL]SQL语言入门级教材_跟我学SQL(六)
  7. android 沉浸通知栏
  8. MVC - 身份验证
  9. Iperf[转]
  10. pandas教程1:pandas数据结构入门
  11. Python pyspider 安装与开发
  12. 快速搭建属于自己的数据库——mongodb
  13. 详解:Python2中的urllib、urllib2与Python3中的urllib以及第三方模块requests
  14. Thinkphp5+PHPExcel实现批量上传表格数据功能
  15. 从length与length()开始谈Java
  16. 【常见错误】Quartz常见错误
  17. Sql语句中IN和exists的区别及应用
  18. myeclipse编译弹框:The builder launch configuration could not be found
  19. Python函数-logging.basicConfig
  20. NPOI 创建Excel 设置宽度 样式 颜色对比表

热门文章

  1. linux软件操作
  2. man gzip
  3. 运算符、流程控制(if、while)笔记
  4. 【hackerrank】Type of Triangle
  5. C#删除文件夹的文件
  6. 文件/大文件上传功能实现(JS+PHP)全过程
  7. Comet OJ - Contest #7 D 机器学习题 斜率优化 + 未调完
  8. POJ 2385 Apple Catching ( 经典DP )
  9. Floyd求解最短路
  10. POJ Knight Moves 2243 x