真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python之requests封裝通用http協(xié)議接口請(qǐng)求-創(chuàng)新互聯(lián)

  思想這東西任何時(shí)候也不會(huì)是固定的,縱使框架大致一樣,也不盡相同。關(guān)鍵還得是看業(yè)務(wù)和具體需求。python接口自動(dòng)化測(cè)試框架,軟件:IDE開(kāi)發(fā)工具必選+工具類如下:

發(fā)展壯大離不開(kāi)廣大客戶長(zhǎng)期以來(lái)的信賴與支持,我們將始終秉承“誠(chéng)信為本、服務(wù)至上”的服務(wù)理念,堅(jiān)持“二合一”的優(yōu)良服務(wù)模式,真誠(chéng)服務(wù)每家企業(yè),認(rèn)真做好每個(gè)細(xì)節(jié),不斷完善自我,成就企業(yè),實(shí)現(xiàn)共贏。行業(yè)涉及雨棚定制等,在成都網(wǎng)站建設(shè)公司全網(wǎng)整合營(yíng)銷推廣、WAP手機(jī)網(wǎng)站、VI設(shè)計(jì)、軟件開(kāi)發(fā)等項(xiàng)目上具有豐富的設(shè)計(jì)經(jīng)驗(yàn)。

  1、主要框架有:requests庫(kù)、unittest單元測(cè)試框架、HTMLrunner生成測(cè)試報(bào)告工具類、DDT數(shù)據(jù)驅(qū)動(dòng);另外pymysql、configparser、email、openpyxl等等其他工具類

  2、一般思想,即一步一個(gè)腳?。?/p>

  - 首先腳本化處理http請(qǐng)求--requests

  - 將同類型測(cè)試腳本封裝,每個(gè)接口封裝成一個(gè)接口類

  - 利用單元測(cè)試工具unittest,創(chuàng)建測(cè)試集suite,loader加載測(cè)試用例,測(cè)試方法命名必須test開(kāi)頭

  - 最后html生成測(cè)試報(bào)告,是否需要發(fā)送郵件等在另行擴(kuò)展

  3、根據(jù)上面的步驟分析,基本確定接口測(cè)試結(jié)構(gòu)框架

  4、直接上源碼 ,應(yīng)該可能還有優(yōu)化的空間,希望讀者能夠給點(diǎn)提示,共同進(jìn)步~

  '''

  Created on 2019年10月10日

  @author: qguan

  '''

  import requests

  from utils.HandleLogging import log as logging

  class HandleRequests(object):

  '''

  封裝一個(gè)公共http請(qǐng)求工具類

  '''

  def __init__(self):

  '''

  構(gòu)造方法

  '''

  self.logger = logging

  self.session = requests.Session()

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

  '''

  封裝一個(gè)可以被直接調(diào)用的方法

  :param method: 請(qǐng)求方法

  :param url: 請(qǐng)求地址

  :param data: 請(qǐng)求參數(shù)

  :param is_json: 是否json格式

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

  :return: 返回一個(gè)請(qǐng)求結(jié)果

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

  # 請(qǐng)求方法的參數(shù)轉(zhuǎn)成小寫(xiě),也可以是大寫(xiě)upper()

  method = method.lower()

  # 判斷請(qǐng)求參數(shù)是否是str類型的json格式

  if isinstance(data, str):

  try:

  data = json.loads(data)

  except Exception as e:

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

  if len(data) > 0:

  data = eval(data)

  # 請(qǐng)求方法

  if method == 'get':

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

  elif method == 'post':

  if is_json: # 如果是json格式的請(qǐng)求參數(shù),是用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("[{}]該請(qǐng)求方法暫不支持。".format(method))

  # session需要關(guān)閉資源

  self.session.close()

  return res.text

  if __name__ == '__main__':

  res=HandleRequests()

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

  print(res("get", url))

  5、以上講了接口自動(dòng)化測(cè)試框架的結(jié)構(gòu)分層及封裝了requests作為http請(qǐng)求工具類

  6、unittest單元測(cè)試框架還需要單獨(dú)的來(lái)講其使用方法,如:創(chuàng)建測(cè)試套件、加載測(cè)試用例、執(zhí)行測(cè)試、結(jié)果回寫(xiě)、生成報(bào)告、發(fā)送郵件通知等等框架說(shuō)具備的功能。


文章標(biāo)題:Python之requests封裝通用http協(xié)議接口請(qǐng)求-創(chuàng)新互聯(lián)
網(wǎng)頁(yè)鏈接:http://weahome.cn/article/dgjdoo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部