中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python+Requests+Unittest接口如何實現自動化測試

發布時間:2021-08-25 11:07:48 來源:億速云 閱讀:137 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關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 requests
def 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 requests
def 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 = 0
num_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"

Python+Requests+Unittest接口如何實現自動化測試

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)

例子中缺失很多判斷按具體項目測試的接口去進行判斷,整體的框架是這樣子的,在接口很多的項目中,可以分文件進行編寫,方便后期接口測試用例的修改,在我現在公司的產品中總共有69個接口,將這69個接口我進行了分類去管理,如果需要將接口測試腳本放服務器去跑,需要添加try….except,將出現的錯誤信息報出來,利用smtplib發送錯誤信息到自己的郵箱就好了。

感謝各位的閱讀!關于“Python+Requests+Unittest接口如何實現自動化測試”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

蒲江县| 广水市| 吉安市| 台东市| 腾冲县| 连山| 青阳县| 新巴尔虎左旗| 淮北市| 鄂托克前旗| 鲜城| 方正县| 重庆市| 濮阳县| 深水埗区| 揭东县| 海口市| 璧山县| 卢龙县| 新沂市| 正阳县| 雅安市| 射洪县| 左云县| 滦平县| 榆中县| 济南市| 泰来县| 金川县| 民权县| 鄂尔多斯市| 大埔县| 开封市| 林口县| 宁远县| 齐齐哈尔市| 米泉市| 宽甸| 达拉特旗| 门源| 宁武县|