91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Python 之requests封裝通用http協議接口請求

發布時間:2020-08-18 07:49:55 來源:ITPUB博客 閱讀:892 作者:ckxllf 欄目:編程語言

  思想這東西任何時候也不會是固定的,縱使框架大致一樣,也不盡相同。關鍵還得是看業務和具體需求。python接口自動化測試框架,軟件:IDE開發工具必選+工具類如下:

  1、主要框架有:requests庫、unittest單元測試框架、HTMLrunner生成測試報告工具類、DDT數據驅動;另外pymysql、configparser、email、openpyxl等等其他工具類

  2、一般思想,即一步一個腳印:

  - 首先腳本化處理http請求--requests

  - 將同類型測試腳本封裝,每個接口封裝成一個接口類

  - 利用單元測試工具unittest,創建測試集suite,loader加載測試用例,測試方法命名必須test開頭

  - 最后html生成測試報告,是否需要發送郵件等在另行擴展

  3、根據上面的步驟分析,基本確定接口測試結構框架

  4、直接上源碼 ,應該可能還有優化的空間,希望讀者能夠給點提示,共同進步~

  '''

  Created on 2019年10月10日

  @author: qguan

  '''

  import requests

  from utils.HandleLogging import log as logging

  class HandleRequests(object):

  '''

  封裝一個公共http請求工具類

  '''

  def __init__(self):

  '''

  構造方法

  '''

  self.logger = logging

  self.session = requests.Session()

  def __call__(self, method, url, data=None, is_json=False, **kwargs):

  '''

  封裝一個可以被直接調用的方法

  :param method: 請求方法

  :param url: 請求地址

  :param data: 請求參數

  :param is_json: 是否json格式

  :param kwargs: 占位,可自定義headers

  :return: 返回一個請求結果

  ''' 鄭州人流醫院哪家好 http://mobile.zyyyzz.com/

  # 請求方法的參數轉成小寫,也可以是大寫upper()

  method = method.lower()

  # 判斷請求參數是否是str類型的json格式

  if isinstance(data, str):

  try:

  data = json.loads(data)

  except Exception as e:

  self.logger.info("str字符串json數據處理異常:{}".format(e))

  if len(data) > 0:

  data = eval(data)

  # 請求方法

  if method == 'get':

  res = self.session.request(method=method, url=url, params=data, **kwargs)

  elif method == 'post':

  if is_json: # 如果是json格式的請求參數,是用json

  res = self.session.request(method=method, url=url, json=data, **kwargs)

  else:

  res = self.session.request(method=method, url=url, data=data, **kwargs)

  else:

  self.logger.info("[{}]該請求方法暫不支持。".format(method))

  # session需要關閉資源

  self.session.close()

  return res.text

  if __name__ == '__main__':

  res=HandleRequests()

  url='http://www.baidu.com'

  print(res("get", url))

  5、以上講了接口自動化測試框架的結構分層及封裝了requests作為http請求工具類

  6、unittest單元測試框架還需要單獨的來講其使用方法,如:創建測試套件、加載測試用例、執行測試、結果回寫、生成報告、發送郵件通知等等框架說具備的功能。

向AI問一下細節

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

AI

会宁县| 积石山| 余江县| 沽源县| 平南县| 平利县| 枣阳市| 遵义市| 疏勒县| 合山市| 漠河县| 化德县| 永昌县| 屏山县| 砀山县| 寻甸| 河南省| 馆陶县| 宁津县| 辽宁省| 沅陵县| 烟台市| 徐汇区| 突泉县| 定日县| 桂林市| 建宁县| 定兴县| 华坪县| 克山县| 永仁县| 闽侯县| 泾川县| 桦川县| 廉江市| 新源县| 贵溪市| 蓬溪县| 通榆县| 青川县| 灵台县|