python3+requests+unittest_python3+requests+unittest:接口自动化测试(一)
簡單介紹框架的實現邏輯,參考代碼的git地址:
1.環境準備
python3 + pycharm編輯器
2.框架目錄展示
(該套代碼只是簡單入門,有興趣的可以不斷后期完善)
(1)run.py主運行文件,運行之后可以生成相應的測試報告,并以郵件形式發送;
(2)report文件夾存放測試結果報告;
(3)unit_test文件夾是存放測試用例(demo.py和test_unittest.py用例用法介紹,實際項目中可以按照不同模塊新建python package,來存放不同模塊的接口用例);
(4)util對測試接口相關方法的封裝:HTMLTestRunner.py生成測試報告的封裝;send_mail.py發送郵件的封裝;test_get_post.py接口請求類型的封裝。
3.代碼實現說明
(1)get、post接口請求實例介紹
【2】請求之后對返回結果進行斷言:assertEqual()等,斷言方法很多,可上網查詢
(2)實際中,有些參數或方法在執行用例之前必須說明,這就涉及到setUp、tearDown、setUpClass、tearDownClass的用法
【1】setup():每個測試函數運行前運行;teardown():每個測試函數運行完后執行;setUpClass():必須使用@classmethod 裝飾器,所有test運行前運行一次;tearDownClass():必須使用@classmethod裝飾器,所有test運行完后運行一次
【2】也可以對某些用例執行過程中跳過:unittest.skip(),具體使用方法可上網查詢
(3)如果每次接口請求時都使用requests/get、post請求實在是繁瑣,我們可以對該方法進行封裝,接口請求時直接調用即可
(4)測試用例編寫完之后,主函數run.py直接使用unittest模塊將所有用例一并執行
【1】unittest模塊:TestSuite 多個測試用例集合在一起;TestRunner 是來執行測試用例的,測試的結果會保存到TestResult實例中,包括運行了多少測試用例,成功了多少,失敗了多少等信息(unittest.TextTestRunner().run(suite))
【2】suite.addTests()和suite.addTest()均可實現
#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測試結果輸出到控制臺,要將測試結果輸出到report中,使用HTMLTestRunner.py文件(該文件參考地址:https://github.com/huilansame/HTMLTestRunner_PY3)
(5)測試完成之后,想要將測試結果發送郵件給相關人員
說明:
1.代碼中涉及到的測試數據都屏蔽掉了,可以直接使用自己負責項目的真實數據進行了解;
2.該套測試腳本相對基礎,需要完善的地方還要很多,歡迎各位學習交流;
3.后續會再寫一篇博客接口自動化測試(二),實現Excel來管理用例等。
總結
以上是生活随笔為你收集整理的python3+requests+unittest_python3+requests+unittest:接口自动化测试(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 四川大学计算机应用基础第二次,四川大学川
- 下一篇: vscode自动加前缀_详解VScode