国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > Python > 正文

Python + Requests + Unittest接口自動化測試實例分析

2024-09-09 19:03:13
字體:
來源:轉載
供稿:網友

本文實例講述了Python + Requests + Unittest接口自動化測試。分享給大家供大家參考,具體如下:

1. 介紹下python的requests模塊

Python Requests快速入門 :http://cn.python-requests.org/zh_CN/latest/

想必會Python基礎的小伙伴們一看就懂了

2. Requests接口自動化測試:

2.1 如何利用這么利器進行接口測試,請看小demo:

# -*- coding:utf-8 -*import requestsdef test():  url = "http://120.24.239.**:9080/user/app/get_sys_time.do" #測試的接口url  headers = {'content-type': 'application/json'}  r = requests.get(url=url, headers=headers)  return r.json()if __name__ == "__main__":  test()

在進行接口測試的過程中對傳入的參數進行邊界值測試、錯誤推導測試、等價類測試等測試方法進行測試。有時安全性考慮,會在請求接口url上添加session的東東,這個時候不怕,直接把登錄接口返回碼中的session提取出來,放在post請求的header里,例如:

# -*- coding:utf-8 -*import requestsdef test():  url = "http://120.24.239.**:9080/user/app/login.do" #登錄的接口  headers = {'content-type': 'application/json'}  r = requests.get(url=url, headers=headers)  return r.json()def test_have_session(url):  cookie = "JSESSIONID=" + "".join(test().get("JSESSIONID")) #利用登錄接口獲取JSESSIONID  headers = {'content-type': 'application/xml', 'Cookie': cookie}  r = requests.post(url, headers=headers)  return r.json()if __name__ == "__main__":  url = ""  #測試的接口url  test_have_session(url)

2.2 做完所有接口的接口測試后,就要編寫接口自動化了,不可能開發每次去修改接口你又得手動的去測試一遍,特別是產品上線了,需要到所有的接口進行一遍測試,這個時候有了接口自動化就方便多了,接下來看下一個縮減版的接口自動化測試demo:

# -*- coding:utf-8 -*# 測試報告郵件內容text = ""# 用例統計num_success = 0num_fail = 0# 測試通過def test_success():  global num_success  num_success += 1  print_out(u"測試結果:通過/n")# 測試不通過def test_fail(txt):  global num_fail  num_fail += 1  print_out(u"測試結果:不通過 /n錯誤信息: " + txt + "/n")# 郵件內容寫入 & 客戶端輸出def print_out(message):  global text  text += "/n" + message  print message# 返回值判斷def test_result(result, code):  if result.get("status") == code:    test_success()    return "pass"  else:    txt = u"期望返回值:" + str(code) + u" 實際返回值:" + str(result.get("status"))    test_fail(txt)    return "fail"

def test_interface():  # 初始化測試起始時間  start_time = datetime.datetime.now()  # 構造測試集  suite = unittest.TestSuite()  suite.addTest(MyTestSuite("test_login"))  # 登陸  suite.addTest(MyTestSuite("test_employees")) # 員工管理  suite.addTest(MyTestSuite("test_department")) # 部門管理  suite.addTest(MyTestSuite("test_work_sys")) # 工作日歷管理  suite.addTest(MyTestSuite("test_holiday")) # 節假日管理  suite.addTest(MyTestSuite("test_queryAp")) # 智能終端管理  suite.addTest(MyTestSuite("test_edit_info")) # 企業信息管理 & 個人信息  suite.addTest(MyTestSuite("test_data")) # 每日數據報表 & 月度數據報表  # 執行測試  runner = unittest.TextTestRunner()  runner.run(suite)  # 測試執行時間計算  end_time = datetime.datetime.now()  total_use_case = u"執行用例總數:" + str(num_success + num_fail) + /           u"/t通過數:" + str(num_success) + /           u"/t不通過數:" + str(num_fail)  total_time = u"/t總共耗時:" + str((end_time-start_time).seconds) + u"秒"  print_out(total_use_case + total_time)  # 發生郵件測試報告  Send_email.send_email(text)
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 滁州市| 宣汉县| 六盘水市| 红原县| 镇巴县| 梁山县| 定安县| 崇明县| 临西县| 太湖县| 六盘水市| 汤阴县| 无棣县| 镇巴县| 青海省| 乡城县| 望谟县| 巫溪县| 韶关市| 双江| 滨海县| 八宿县| 祁连县| 前郭尔| 旌德县| 海盐县| 岳阳市| 临泽县| 台南市| 虹口区| 伊川县| 辽阳市| 满洲里市| 鸡东县| 高碑店市| 南汇区| 通化县| 拜泉县| 夏河县| 马龙县| 无极县|