使用unittest测试框架并集成Airtest测试报告
1.将测试需要的所有步骤集中到一个class,例:
class Test(object): ''' 登录租户使用,需要浏览器显示书签并且triones-web在书签栏中 浏览器有账号密码自动填充 登录账号在乘法云Finance(克隆)租户中 ''' def test001(self): t = 0 #测试内容 return t ''' 测试录入凭证使用,可在登录之后调用 ''' def test002(self, account_code): t = 0 #测试内容 return t |
2.在与项目同名py文件中引入unittest
import timeimport sysimport unittestimport HTMLTestRunnerfrom main import Testdef custom_resize_method(w, h, sch_resolution, src_resolution): return int(w), int(h)# 替换默认的RESIZE_METHODauto_setup(__file__)# 引入unittestclass fs_finance(unittest.TestCase): def __init__(self, methodName='runTest'): super(fs_finance, self).__init__(methodName) @staticmethod def parametrize(testcase_klass): tesenames_add = [ 'test001', 'test001' ] print(testnames) for name in testnames: return suite#增加测试用例class Testadd(fs_finance): # 这里的装饰器@classmethod必须有,标识为一个类方法 @classmethod def setUpClass(self): """setUpClass为类的初始化方法,在整个类运行前执行只执行一次""" pass def setUp(self): """为测试方法的初始化,每个case运行前执行一次""" pass def tearDown(self): """清理函数,和setUp类似,每个case执行后执行一次""" pass @classmethod def tearDownClass(cls): """和setUpclass类似,在调用整个类测试方法完成后执行一次""" pass #测试用例1 def test001(self): """test001,这里的字会展示到测试报告的'用例集/测试用例'列""" Test().test001() self.assertEqual(result, 0) #测试用例2 def test002(self): """test002""" result = Test().test002() self.assertEqual(result, 0)class Test001(object): # 替换默认的RESIZE_METHOD def test(self): stream=fp, verbosity=2, title=u'自动化测试报告', description='详细测试用例结果', # 不传默认为空 tester=u'test' )Test001().test() |
3.将下面的HTMLTestRunner.py复制到测试项目目录下与项目同名py文件同级
4.airtest的生成报告的命令需要指定log.html的路径
--outfile .\report\log.html


浙公网安备 33010602011771号