<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      接口測試框架接入性能測試實踐分享

      1. 前言

      現如今接口測試在軟件質量行業中的地位,已經越來越重要,相對于上層的UI自動化測試和下層的單元測試,接口測試的“低”投入、“高”回報,也成了絕大多數質量保障實踐的首選。

      在開展接口測試時,往往很多時候都只在關注接口的功能性質量,而對于非功能性的質量保障驗證,比如性能、安全,在實際工程應用或者設計用例時關注度明顯不足(甚至很多壓根沒有這方面的測試實踐)。

      今天就以Python系下requests庫(常用于接口測試)和Robot FrameWork框架為例,和大家聊聊在接口測試過程中,和功能需求同等重要的性能測試檢查項。

      2. 接口測試需要考慮的性能檢查項

      在接口測試過程中,除了要考慮產品需求的正常、異常、數據正確性等顯性功能需求質量外,還有很多隱性需求質量需要關注,以性能測試為例,常見需要關注的檢查項包括,但不限于:

      • 1、單用戶登錄的響應時間是否小于 3 秒;
      • 2、單用戶登錄時,后臺請求數量是否過多;
      • 3、高并發場景下用戶登錄的響應時間是否小于 5 秒;
      • 4、高并發場景下服務端的監控指標是否符合預期;
      • 5、高集合點并發場景下,是否存在資源死鎖和不合理的資源等待;
      • 6、長時間大量用戶連續登錄和登出,服務器端是否存在內存泄漏。

      本文重點以接口響應時間為例,介紹如何在requests庫和Robot FrameWork框架納入性能測試項,其它性能檢查項思路基本都是相通的。

      3. requests庫接口測試校驗響應時間

      通常在結合requests庫開展接口測試時,發送請求后,接口的響應時間,也是我們需要關注的一個重點,如果響應時間太長,從產品業務或者用戶角度也是不可接受的。那如何進行請求響應時間校驗,也成為了接口測試人員需要掌握的一項小技能。

      針對requests庫校驗請求響應時間,給大家提供兩種實現思路:

      一、借助請求響應超時機制

      具體實現:

      #-*- coding:utf-8 -*-
      import requests
      from requests import exceptions
      
      try:
          req = requests.post(url=url, data=data, headers=headers, verify=False, timeout=3)       
         print r.json()
      except exceptions.Timeout as e:   
          print("拋出異常")
      

      在上述實現中,通過增加timeout參數,設置請求響應超時機制,當timeout=3(可自由定義),當請求響應時間超過3秒,則會拋出超時異常。

      其中,額外補充的知識點:超時(默認單位:s),有兩種設置超時方法:

      • timeout=5:設置5s的超時時間
      • timeout=(5,10):設置區間時間的等待

       當請求出現超時時,則會拋出此異常:requests.exceptions.ConnectTimeout: HTTPConnectionPool    

      2、獲取響應時間方法:req.elapsed.total_seconds()

      二、借助requests接口響應返回值elapsed

      具體實現:

      #-*- coding:utf-8 -*-
      import requests
      
      r = requests.post(url, data=data, headers=headers)
      print(r.status_code)
      print(r.elapsed)
      print(r.elapsed.total_seconds())
      print(r.elapsed.microseconds)
      print(r.elapsed.seconds)
      elapsed_time = r.elapsed.total_seconds() #獲取實際的響應時間 
      assert elapsed_time>3
      

      上述代碼實現中,通過獲取請求返回的響應值來獲取接口響應時間,常見的幾個獲取響應時間參數為:

      • elapsed.total_seconds:獲取響應時間,單位s (推薦)

      • elapsed. microseconds:獲取響應時間,大于1s的時候,只截取了后面的小數部分

      • elapsed.seconds:單位s,響應時間小于1s時,為0

      4. Robot Framework框架校驗響應時間

      在上述我們介紹了requests庫在開展接口測試過程,校驗請求響應時間的實現思路。而通過Robot Framework框架開展接口測試,主要會依賴RequestsLibray庫,而因此實現思路也是一樣的。

      具體實現,可參考下述示例:

      img

      上述校驗請求響應時間,核心就兩句代碼:

      ${elapsed_seconds}=    set variable    ${resp.elapsed.total_seconds()}
      should be true    ${elapsed_seconds}<3
      

      補充知識點:響應體${resp}是一個類對象,源碼可在requests/models/Response查看,可以查看找出該類的所有屬性,第6行打印結果:

      5. 小結

      作為測試工程師,你的目標是要保證系統在各種應用場景下的功能是符合設計要求的,所以你需要考慮的測試用例就需要更多、更全面。本文,通過接口測試如何融合接口性能檢查項,給大家提供一點思路,希望對你有所幫助或啟發。

      如果覺得有用,幫忙點個好看朋友圈轉發分享一下就行。

      posted @ 2020-09-15 09:27  狂師  閱讀(1149)  評論(2)    收藏  舉報
      主站蜘蛛池模板: 国产精品青草久久久久福利99| 成年在线观看免费人视频| 67194熟妇人妻欧美日韩| 亚洲岛国成人免费av| 日本国产一区二区三区在线观看| 国产精品免费视频不卡| 国产精品亚洲av三区色| 久久69国产精品久久69软件| 乱色熟女综合一区二区三区| 色伦专区97中文字幕| 久久精品免费观看国产| 蜜桃臀av一区二区三区| 国产日产精品系列| 国产精品普通话国语对白露脸| 精品国产一区二区三区性色| 亚洲中文字幕一区二区| 麻豆蜜桃伦理一区二区三区| 亚洲无码a∨在线视频| 一卡2卡三卡4卡免费网站| 国产精品女同性一区二区| 国产老熟女国语免费视频| 亚洲男人AV天堂午夜在| 国内少妇偷人精品免费| 国产午夜福利在线机视频| 久久综合综合久久高清免费| 国产午夜亚洲精品不卡网站| 久久精品国产福利一区二区| 国产精品亚洲欧美大片在线看| 免费人欧美成又黄又爽的视频| 不卡国产一区二区三区| 自拍偷拍另类三级三色四色| 午夜福利92国语| 实拍女处破www免费看| 国产亚洲综合一区二区三区 | 18禁无遮挡啪啪无码网站破解版| 日韩中文字幕v亚洲中文字幕| 女人与公狍交酡女免费| 欧美一区二区三区欧美日韩亚洲| 国产一级老熟女自拍视频| 国产精品成| 成年无码av片完整版|