<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python 如何使用 HttpRunner 做接口自動化測試

          共 2653字,需瀏覽 6分鐘

           ·

          2021-02-28 19:47


          Python實戰(zhàn)社群

          Java實戰(zhàn)社群

          長按識別下方二維碼,按需求添加

          掃碼關(guān)注添加客服

          進(jìn)Python社群▲

          掃碼關(guān)注添加客服

          進(jìn)Java社群


          作者丨星安果

          來源丨AirPython


          1. 前言

          原始測試金子塔包含 3 層,分別是:UI 自動化測試、接口服務(wù)測試、單元測試

          其中,

          單元測試是對軟件的最小可測試單元進(jìn)行檢查和驗證,也是產(chǎn)生效率最大的一項測試

          接口服務(wù)測試分為模塊接口測試和協(xié)議接口測試

          UI 測試主要是為了取代人力操作,通過 UI 自動化去模擬操作,降低回歸測試的成本

          考慮到投入產(chǎn)出率,大部分企業(yè)都會將測試重點放在接口自動化測試這一項上

          接口自動化主流方案包含Python + Pytest/Unittest、Java + TestNG、Postman、HttpRunner、Postman、Jmeter、RobotFramework 等

          本篇文章將和大家一起聊聊 HttpRunner 做接口自動化的流程

          2.介紹及安裝

          HttpRunner 是一款完全由 Python 語言編寫的測試框架,并且簡單、優(yōu)雅、功能強(qiáng)大,同時支持 HTTP 和 HTTPS

          HttpRunner 主要包含下列特征:

          • 繼承 Requests 庫的全部特性,輕松實現(xiàn) HTTP(S) 的各種測試需求

          • 以 YAML 和 JSON 定義測試用例,通過 pytest 去運行

          • 基于 HAR 文件,實現(xiàn)接口的錄制及用例的生成功能

          • 支持 variables、extract、validate、hook 等關(guān)鍵字,可以創(chuàng)建復(fù)雜的測試場景

          • 借助輔助插件 debugtalk.py,在測試腳本中輕松實現(xiàn)復(fù)雜的動態(tài)計算邏輯

          • 集成 jmespath,方便提取變量、驗證 JSON 響應(yīng)

          • 集成 pytest,支持大量的插件

          • 集成 allure 生成強(qiáng)大的測試報告

          • 集成 locust,非常方便做性能測試

          • 執(zhí)行方式采用 CLI 調(diào)用形式,可以和 Jenkins 等持續(xù)集成工具完美結(jié)合

          使用 pip 安裝 HttpRunner 穩(wěn)定版本

          # 安裝 HttpRunner 穩(wěn)定版本
          pip3 install httprunner

          需要指出的是,HttpRunner V3 版本對比 V2 版本進(jìn)行了大量優(yōu)化,特別是測試用例的表現(xiàn)形式,強(qiáng)烈建議安裝 V3 版本

          3.常見命令

          安裝完 HttpRunner 之后,就可以使用下面幾個命令了

          1、hrun

          HttpRunner 最主要的命令,主要作用是運行 Py/YAML/JSON 格式的測試用例

          2、hmake

          將 YAML/JSON 格式的測試用例轉(zhuǎn)換為 Python 文件

          ps:HttpRunner V3 以 Python 文件保存測試用例,V2 之前是以 JSON/YAML 格式保存測試用例

          3、har2case

          har2case 作用是將 HAR 格式的請求文件轉(zhuǎn)為 YAML/JSON/Py 格式的測試用例

          ps:一般網(wǎng)絡(luò)請求都可以直接以 AHR 格式保存到本地

          4、locusts

          HttpRunner 集成了 locusts 命令,可以利用它直接進(jìn)行性能測試

          5、其他命令

          另外,通過 httprunner -h 命令可以查看幫助;使用 httprunner -V 命令可以查看 HttpRunner 的版本信息

          4.小試牛刀

          先通過一個簡單的接口聊聊 HttpRunner 的使用步驟

          目標(biāo)接口 - GET:

          https://postman-echo.com/get?foo1=bar1

          第一步:抓包,保存為 HAR 文件

          打開 Charles 或 Fiddler,配置 Chrome 瀏覽器的代理, 使 Charles 可以對瀏覽器進(jìn)行抓包

          使用 Chrome 訪問這個接口地址,模擬一次請求,然后在 Charles 中找到對應(yīng)的請求,右鍵保存為 HAR 文件

          第二步:轉(zhuǎn)為測試用例

          使用 har2case 命令將 HAR 文件轉(zhuǎn)換為測試用例,V3 版本默認(rèn)生成測試用例格式為 Py 文件

          查看測試用例后發(fā)現(xiàn),HttpRunner 自動生成的測試用例結(jié)構(gòu)十分清晰,二次修改也非常方便

          第三步,運行測試用例

          使用 hrun 命令運行測試用例,另外,加上 --html 參數(shù),可以在本地生成測試報告

          # 生成測試報告
          hrun demo_test.py --html=report.html

          打開測試報告,可以查看測試用例的執(zhí)行結(jié)果及日志

          5.腳手架

          HttpRunner 同樣提供了腳手架,方便我們快速創(chuàng)建標(biāo)準(zhǔn)化項目

          # 使用腳手架創(chuàng)建一個項目
          httprunner startproject demo

          生成項目的目錄結(jié)果如下:

          其中,

          1、debugtalk.py

          一般用于自定義 Python 函數(shù),方便測試用例調(diào)用

          比如:某個請求參數(shù)需要通過一段加密邏輯生成,這時可以自定義一個函數(shù)寫在 debugtalk.py 文件中

          2、har

          從抓包工具、Postman、瀏覽器保存的網(wǎng)絡(luò)請求

          3、reports

          生成測試報告的目錄

          需要指出的是,除了使用自帶的 pytest-html 插件生成測試報告,HttpRunner 還可以通過 allure 生成功能更加強(qiáng)大的測試報告

          4、testcases

          用于放置測試用例

          使用 hrun 命令可以直接運行腳手架項目

          # 運行腳手架項目
          # hrun 項目名稱
          hrun demo

          6.最后

          受限于篇幅,上面僅僅介紹了 HttpRunner 最基本的使用方法

          程序員專欄
           掃碼關(guān)注填加客服 
          長按識別下方二維碼進(jìn)群

          近期精彩內(nèi)容推薦:  

           10年巨變,我女神成了我老婆...

           一個程序員的水平能差到什么程度?

           在一個公司死磕5-10年的程序員都怎么樣了?

           史上最污技術(shù)解讀,我竟然秒懂了




          在看點這里好文分享給更多人↓↓

          瀏覽 27
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  激情网站五月天 | 亚洲AV成人影视网 | 免费在线观看视频黄 | 一区视频二区 | 肏屄乱伦视频 |