Appium+Python之批量执行测试用例
2024-08-30 14:25:53
思考:当存在多个脚本,每个脚本中有多条测试用例时,我们该如何批量执行呢?
分析:首先创建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种方法,还有其他方法,比如测试用例参数化方法,待后续说明.....
最新文章
- C#中的日期处理函数
- spring事务与消息队列
- 20145303 20145339 《信息安全系统设计基础》 实验五 简单嵌入式WEB服务器实验
- 【转】mybatis实战教程(mybatis in action)之八:mybatis 动态sql语句
- sqlserver日常维护脚本
- [SQL]SQL语言入门级教材_跟我学SQL(六)
- android 沉浸通知栏
- MVC - 身份验证
- Iperf[转]
- pandas教程1:pandas数据结构入门
- Python pyspider 安装与开发
- 快速搭建属于自己的数据库——mongodb
- 详解:Python2中的urllib、urllib2与Python3中的urllib以及第三方模块requests
- Thinkphp5+PHPExcel实现批量上传表格数据功能
- 从length与length()开始谈Java
- 【常见错误】Quartz常见错误
- Sql语句中IN和exists的区别及应用
- myeclipse编译弹框:The builder launch configuration could not be found
- Python函数-logging.basicConfig
- NPOI 创建Excel 设置宽度 样式 颜色对比表