1. 程式人生 > 實用技巧 >.net工具類——讀取寫入cookie

.net工具類——讀取寫入cookie

簡介

HttpRunner是一款面向 HTTP(S) 協議的通用測試框架,只需編寫維護一份 YAML/JSON 指令碼,即可實現自動化測試、效能測試、線上監控、持續整合等多種測試需求。

框架流程

核心特性

  • 繼承 Requests 的全部特性,輕鬆實現 HTTP(S) 的各種測試需求
  • 測試用例與程式碼分離,採用YAML/JSON的形式描述測試場景,保障測試用例具備可維護性
  • 測試用例支援分層機制,充分實現測試用例的複用
  • 測試用例支援引數化和資料驅動機制
  • 使用 skip 機制實現對測試用例的分組執行控制
  • 測試請求支援完善的 hook 機制
  • 支援熱載入機制,在文字測試用例中輕鬆實現複雜的動態計算邏輯
  • 基於 HAR 實現介面錄製和用例生成功能(har2case)
  • 結合 Locust 框架,無需額外的工作即可實現分散式效能測試
  • 執行方式採用 CLI 呼叫,可與 Jenkins 等持續整合工具完美結合
  • 測試結果統計報告簡潔清晰,附帶詳盡統計資訊和日誌記錄
  • 具有可擴充套件性,便於擴充套件實現 Web 平臺化(HttpRunnerManager)

下載安裝

使用pip命令進行安裝

  pip install httprunner

安裝後效驗是否安裝成功,可以使用如下命令進行效驗

  hrun -V
  1.4.2

  har2case -V
  0.1.8

若版本號正常顯示,則說明安裝正常。

入門使用

測試場景

用例設計

HttpRunner的測試用例支援兩種檔案格式:YAML 和 JSON。這裡以YAML為例。

  # test_httpbin.yml
  - config:
      name: httpbin api test
      request:
          base_url: http://www.httpbin.org
  - test:
      name: get request
      request:
          url: /get
          method: GET
      validate:
          - eq: [status_code,200]
  • config:作為整個測試用例集的全域性配置項
  • test:對應單個測試用例
  • name 這個test的名字
  • request 這個test具體傳送http請求的各種資訊, 如下:
  • url 請求的路徑 (若config中有定義base_url, 則完整路徑是用 base_url + url )
  • method 請求方法 POST, GET等等
  • validate 完成請求後, 所要進行的驗證內容. 所有驗證內容均通過該test才算通過,否則失敗

執行測試

使用hrun執行測試,如下所示:

C:\Users\Shuqing>hrun D:\api_test\HttpRunner_test\test_httpbin.yml
get request
INFO     GET /get
INFO     status_code: 200, response_time(ms): 1967.35 ms, response_length: 273 bytes
INFO     start to validate.
.

----------------------------------------------------------------------
Ran 1 test in 1.976s

OK
INFO     Start to render Html report ...
INFO     Generated Html report: C:\Users\Shuqing\reports\1533092144.html

檢視測試報告

開啟html報告如下:

HttpRunnerManager

簡介

HttpRunnerManager是基於HttpRunner的介面自動化測試平臺,該工具是對 HttpRunner的包裝和Web圖形化, 另外還增加了一些新概念(專案/模組)用來組織用例。
如果對yaml語法格式不熟悉,以及對於httprunner命令不熟悉的可以使用該平臺執行介面自動化測試。

專案地址:https://github.com/HttpRunner/HttpRunnerManager

核心特性

  • 專案管理:新增專案、列表展示及相關操作,支援用例批量上傳(標準化的HttpRunner json和yaml用例指令碼)
  • 模組管理:為專案新增模組,用例和配置都歸屬於module,module和project支援同步和非同步方式
  • 用例管理:分為新增config與test子功能,config定義全部變數和request等相關資訊 request可以為公共引數和請求頭,也可定義全部變數
  • 場景管理:可以動態載入可引用的用例,跨專案、跨模快,依賴用例列表支援拖拽排序和刪除
  • 執行方式:可單個test,單個module,單個project,也可選擇多個批量執行,支援自定義測試計劃,執行時可以靈活選擇配置和環境,
  • 分佈執行:單個用例和批量執行結果會直接在前端展示,模組和專案執行可選擇為同步或者非同步方式,
  • 環境管理:可新增執行環境,執行用例時可以一鍵切換環境
  • 報告檢視:所有非同步執行的用例均可線上檢視報告,可自主命名,為空預設時間戳儲存,
  • 定時任務:可設定定時任務,遵循crontab表示式,可線上開啟、關閉,完畢後支援郵件通知
  • 持續整合:jenkins對接,開發中。。。

下載安裝

1.安裝mysql資料庫服務端(推薦5.7+),並設定為utf-8編碼,建立相應HttpRunnerManager資料庫,設定好相應使用者名稱、密碼,啟動mysql。
2.將HttpRunnerManager下載下來,解壓放在任意碟符位置,例如我放在D盤根目錄,並重命名為HttpRunnerManager

環境配置

HttpRunnerManager支援分散式執行,模組和專案執行可選擇為同步或者非同步方式,因此需要安裝相關依賴工具。

erlang

Erlang是一種通用的面向併發的程式語言,它由瑞典電信裝置製造商愛立信所轄的CS-Lab開發,目的是創造一種可以應對大規模併發活動的程式語言和執行環境。

下載地址:http://www.erlang.org/downloads

Rabbitmq

RabbitMQ 是一個由 Erlang 語言開發的 AMQP(高階訊息佇列協議)的開源實現。它支援多個訊息傳遞協議。RabbitMQ可以部署在分散式和聯合配置中,以滿足高規模、高可用性的需求,另外安裝rabbitmq需要先安裝erlang。

下載地址:http://www.rabbitmq.com/download.html下載後雙擊rabbitmq-server-3.7.7.exe檔案進行安裝。

安裝完成後如下圖如所示,選中RabbitMQ Service -start 然後以管理員身份執行。

可以通過訪問http://localhost:15672進行測試,預設的登陸賬號為:guest,密碼為:guest。

相關資料:RabbitMQ Windows環境安裝官方手冊