python使用unittest測試接口步奏詳解

這次給大家帶來python使用unittest測試接口步奏詳解,python使用unittest測試接口的python有哪些,下面就是實戰案例,一起來看一下。

1.首先使用 python 的requests 對接口進行測試

# TestInface.py   import requests,json   url = visit.get_test_url()   news_url = url+'news.info'   headers = baseToken.basetoken_datas()['headers']   def new_data(data):          r = requests.post(news_url,data=data,headers=headers)     cnn = json.loads(r.text)     return cnn

2.使用unittest調用接口,且對接口測試的結果進行統計

# TestCase.py   # -*- coding:utf-8 -*-   import unittest   import TestInface         # 對執行的case結果進行統計   # ---------------------------------------------------------------------------------------------------------------------   text = ""   num_success = 0   num_fail = 0         # 測試通過   def decide_success(joggle):     global num_success     num_success += 1     print_out(joggle + ":接口測試通過n")     return num_success         # 測試不通過   def decide_fail(txt, joggle):     global num_fail     num_fail += 1     print_out(joggle + ":接口測試未通過 n錯誤信息: " + txt + "n")     return num_fail         # 郵件內容寫入 & 客戶端輸出   def print_out(message):     global text     text += "n" + message     return text       # 返回值判斷   def decide_result(result, code, joggle):     if result['code'] == code:       decide_success(joggle)       return "pass"     else:       txt = u"期望返回值:" + str(code) + u" 實際返回值:" + str(result) + 'n' + result['message']       decide_fail(txt, joggle)       return "fail"         def decide_Count():     data = {       'num_success': num_success,       'num_fail': num_fail,       'text': text     }     return data   # --------------------------------------------------------------------------------------------------------------------   # 定義 unittest   class MyTestCase(unittest.TestCase):         # 初始化工作     def setUp(self):       pass         # 退出清理工作     def tearDown(self):       pass     def test_Case1(self):     id = 16       data = {'id':id}       a = TestInface.new_data(data)       decide_result(a,0,'test_Case1')

3.使用suite對case進行管理

# TestSuite.py   # -*- coding:utf-8 -*-   import unittest   import TestCase       def test_InterFace():         # 構造測試集     suite = unittest.TestSuite()     suite.addTest(TestCase("test_Case1")) # unittest中的測試用例           runner = unittest.TextTestRunner()     runner.run(suite)     # 對測試集進行測試需要返回值     # return suite      if name == 'main':         # unittest.main(defaultTest='test_InterFace')     # 執行測試     runner = unittest.TextTestRunner()     runner.run(test_InterFace())

4.對接口的數據進行統計

# TestCensus.py   # -*- coding:utf-8 -*-   import time   import TestSuite   import send_email   import TestCase      class Test_Calss():        def census(self):       text = ''       # 初始化測試起始時間       start_time = time.time()       # 調用suite測試集       TestSuite.test_InterFace()       # 結束執行時間計算       end_time = time.time()          result = TestCase.decide_Count()       # 接口測試統計說明       total_use_case = u"執行用例總數:" + str(result['num_success'] + result['num_fail']) +                 u"t通過數:" + str(result['num_success']) +                 u"t不通過數:" + str(result['num_fail'])       total_time = u"t總共耗時:" + str(round((end_time - start_time), 3)) + u'秒'       text = result['text'] + total_use_case + total_time       print (text)          # 發生測試報告郵件       send_email.email_file(text)      if name == 'main':     Test_Calss().census()

相信看了本文案例你已經掌握了方法,更多精彩請關注php中文網其它相關文章!

推薦閱讀:

python

python

以上就是

? 版權聲明
THE END
喜歡就支持一下吧
點贊11 分享