1.環(huán)境準(zhǔn)備
python3 + pycharm編輯器
2.框架目錄展示
(該套代碼只是簡(jiǎn)單入門,有興趣的可以不斷后期完善)
(1)run.py主運(yùn)行文件,運(yùn)行之后可以生成相應(yīng)的測(cè)試報(bào)告,并以郵件形式發(fā)送;
(2)report文件夾存放測(cè)試結(jié)果報(bào)告;
(3)unit_test文件夾是存放測(cè)試用例(demo.py和test_unittest.py用例用法介紹,實(shí)際項(xiàng)目中可以按照不同模塊新建python package,來存放不同模塊的接口用例);
(4)util對(duì)測(cè)試接口相關(guān)方法的封裝:HTMLTestRunner.py生成測(cè)試報(bào)告的封裝;send_mail.py發(fā)送郵件的封裝;test_get_post.py接口請(qǐng)求類型的封裝。
3.代碼實(shí)現(xiàn)說明
(1)get、post接口請(qǐng)求實(shí)例介紹
【1】requests.get()、requests.post()
【2】請(qǐng)求之后對(duì)返回結(jié)果進(jìn)行斷言:assertEqual()等,斷言方法很多,可上網(wǎng)查詢????????
(2)實(shí)際中,有些參數(shù)或方法在執(zhí)行用例之前必須說明,這就涉及到setUp、tearDown、setUpClass、tearDownClass的用法
【1】setup():每個(gè)測(cè)試函數(shù)運(yùn)行前運(yùn)行;teardown():每個(gè)測(cè)試函數(shù)運(yùn)行完后執(zhí)行;setUpClass():必須使用@classmethod 裝飾器,所有test運(yùn)行前運(yùn)行一次;tearDownClass():必須使用@classmethod裝飾器,所有test運(yùn)行完后運(yùn)行一次
【2】也可以對(duì)某些用例執(zhí)行過程中跳過:unittest.skip(),具體使用方法可上網(wǎng)查詢
(3)如果每次接口請(qǐng)求時(shí)都使用requests/get、post請(qǐng)求實(shí)在是繁瑣,我們可以對(duì)該方法進(jìn)行封裝,接口請(qǐng)求時(shí)直接調(diào)用即可
?
(4)測(cè)試用例編寫完之后,主函數(shù)run.py直接使用unittest模塊將所有用例一并執(zhí)行
【1】unittest模塊:TestSuite 多個(gè)測(cè)試用例集合在一起;TestRunner 是來執(zhí)行測(cè)試用例的,測(cè)試的結(jié)果會(huì)保存到TestResult實(shí)例中,包括運(yùn)行了多少測(cè)試用例,成功了多少,失敗了多少等信息(unittest.TextTestRunner().run(suite))
【2】suite.addTests()和suite.addTest()均可實(shí)現(xiàn)
# 2種用法:第一種suite.addTest()
suite.addTest(Case('test_case01'))
suite.addTest(Case('test_case02'))
suite.addTest(Test('test_01'))
suite.addTest(Test('test_02'))
#2種用法:第二種suite.addTests()
suite.addTests(map(Test, ["test_01", "test_02"]))
suite.addTests(map(Case, ["test_case01", "test_case02"]))
【3】TestRunner測(cè)試結(jié)果輸出到控制臺(tái),要將測(cè)試結(jié)果輸出到report中,使用HTMLTestRunner.py文件
(5)測(cè)試完成之后,想要將測(cè)試結(jié)果發(fā)送郵件給相關(guān)人員
?
說明:
1.代碼中涉及到的測(cè)試數(shù)據(jù)都屏蔽掉了,可以直接使用自己負(fù)責(zé)項(xiàng)目的真實(shí)數(shù)據(jù)進(jìn)行了解;
2.該套測(cè)試腳本相對(duì)基礎(chǔ),需要完善的地方還要很多。
最后:?為了回饋鐵桿粉絲們,我給大家整理了完整的軟件測(cè)試視頻學(xué)習(xí)教程,朋友們?nèi)绻枰梢宰孕忻赓M(fèi)領(lǐng)取?【保證100%免費(fèi)】
文章來源:http://www.zghlxwxcb.cn/news/detail-493901.html
全套資料獲取方式:點(diǎn)擊下方小卡片自行領(lǐng)取即可
文章來源地址http://www.zghlxwxcb.cn/news/detail-493901.html
到了這里,關(guān)于python3+requests+unittest接口自動(dòng)化測(cè)試的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!