接口自動化 Windows + HttpRunner 初探(一)

運行環境html

HttpRunner 是一個基於 Python 開發的測試框架,能夠運行在 macOS、Linux、Windows 系統平臺上。python

HttpRunner 的開發環境爲 macOS + Python 3.6;實際上,HttpRunner 支持 Python 2.7 和 Python 3.3 以上的全部版本,並使用 Travis-CI 進行了持續集成測試,測試覆蓋的版本包括 2.7/3.4/3.5/3.6。git

推薦使用 macOS/Linux + Python 3.6 的運行環境組合。github

小七這邊安裝的是Windows+Python 3.7框架

安裝方式

HttpRunner 的穩定版本託管在 PyPI 上,可使用pip或者easy_install進行安裝。工具

$ pip install httprunner

或者性能

$ easy_install httprunner

若是你須要使用最新的開發版本,那麼能夠採用項目的 GitHub 倉庫地址進行安裝:單元測試

$ pip install git+https://github.com/HttpRunner/HttpRunner.git#egg=HttpRunner

 

版本升級

假如你以前已經安裝過了 HttpRunner,如今須要升級到最新版本,那麼你可使用-U參數。該參數對以上三種安裝方式均生效。測試

$ pip install -U HttpRunner
$ easy_install -U HttpRunner
$ pip install -U git+https://github.com/HttpRunner/HttpRunner.git#egg=HttpRunner

 

 

安裝校驗

在 HttpRunner 安裝成功後,系統中會新增以下 5 個命令:ui

  • httprunner: 核心命令
  • ate: 曾經用過的命令(當時框架名稱爲 ApiTestEngine),功能與 httprunner 徹底相同
  • hrun: httprunner 的縮寫,功能與 httprunner 徹底相同
  • locusts: 基於 Locust 實現性能測試
  • har2case: 輔助工具,可將標準通用的 HAR 格式(HTTP Archive)轉換爲YAML/JSON格式的測試用例

httprunner、hrun、ate 三個命令徹底等價,功能特性徹底相同,我的推薦使用hrun命令。

運行以下命令,若正常顯示版本號,則說明 HttpRunner 安裝成功。

$ hrun -V
1.4.6

$ har2case -V
0.1.8

 

  • 幫助命令
    • hrun -h

 

 

 hrun -h
usage: hrun [-h] [-V] [--no-html-report] [--html-report-name HTML_REPORT_NAME]
            [--html-report-template HTML_REPORT_TEMPLATE]
            [--log-level LOG_LEVEL] [--log-file LOG_FILE]
            [--dot-env-path DOT_ENV_PATH] [--failfast]
            [--startproject STARTPROJECT]
            [--validate [VALIDATE [VALIDATE ...]]]
            [--prettify [PRETTIFY [PRETTIFY ...]]]
            [testset_paths [testset_paths ...]]

One-stop solution for HTTP(S) testing.

positional arguments:
  testset_paths         testset file path

optional arguments:
  -h, --help            show this help message and exit
  -V, --version         show version
  --no-html-report      do not generate html report.
  --html-report-name HTML_REPORT_NAME
                        specify html report name, only effective when
                        generating html report.
  --html-report-template HTML_REPORT_TEMPLATE
                        specify html report template path.
  --log-level LOG_LEVEL
                        Specify logging level, default is INFO.
  --log-file LOG_FILE   Write logs to specified file path.
  --dot-env-path DOT_ENV_PATH
                        Specify .env file path, which is useful for keeping
                        production credentials.
  --failfast            Stop the test run on the first error or failure.
  --startproject STARTPROJECT
                        Specify new project name.
  --validate [VALIDATE [VALIDATE ...]]
                        Validate JSON testset format.
  --prettify [PRETTIFY [PRETTIFY ...]]
                        Prettify JSON testset format.

 

 

開發者模式

默認狀況下,安裝 HttpRunner 的時候只會安裝運行 HttpRunner 的必要依賴庫。

若是你不單單是使用 HttpRunner,還須要對 HttpRunner 進行開發調試(debug),那麼就須要進行以下操做。

HttpRunner 使用 pipenv 對依賴包進行管理,若你尚未安裝 pipenv,須要先執行以下命令進行安裝:

 

$ pip install pipenv

 

 

安裝的依賴包都會放在python目錄site-packages中

獲取 HttpRunner 源碼(自定義找到一個存放httprunner的路徑,好比須要將倉庫下載到G:\Tools\Python\Python37下的目錄 那麼須要進入到此路徑下執行 下面的命令):

$ git clone https://github.com/HttpRunner/HttpRunner.git

 

 

 

 

 

進入倉庫目錄,安裝全部依賴:

$ pipenv install --dev
 
 

運行單元測試,若測試所有經過,則說明環境正常。

 

$ pipenv run python -m unittest discover

 

 

查看 HttpRunner 的依賴狀況:

$ pipenv graph

HttpRunner==1.4.2
  - colorama [required: Any, installed: 0.3.9]
  - colorlog [required: Any, installed: 3.1.4]
  - har2case [required: Any, installed: 0.1.8]
    - PyYAML [required: Any, installed: 3.12]
  - Jinja2 [required: Any, installed: 2.10]
    - MarkupSafe [required: >=0.23, installed: 1.0]
  - PyYAML [required: Any, installed: 3.12]
  - requests [required: Any, installed: 2.18.4]
    - certifi [required: >=2017.4.17, installed: 2018.4.16]
    - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
    - idna [required: >=2.5,<2.7, installed: 2.6]
    - urllib3 [required: <1.23,>=1.21.1, installed: 1.22]
  - requests-toolbelt [required: Any, installed: 0.8.0]
    - requests [required: >=2.0.1,<3.0.0, installed: 2.18.4]
      - certifi [required: >=2017.4.17, installed: 2018.4.16]
      - chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
      - idna [required: >=2.5,<2.7, installed: 2.6]
      - urllib3 [required: <1.23,>=1.21.1, installed: 1.22]

調試運行方式:

# 調試運行 hrun
$ pipenv run python main-debug.py hrun -h+

 



# 調試運行 locusts
$ pipenv run python main-debug.py locusts -h
沒裝locust能夠安裝下
pip install locustio
相關文章
相關標籤/搜索