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
time
import
sys
import
unittest
import
HTMLTestRunner
from
main
import
Test
def
custom_resize_method(w, h, sch_resolution, src_resolution):
return
int
(w),
int
(h)
# 替换默认的RESIZE_METHOD
auto_setup(__file__)
# 引入unittest
class
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