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