1. Python 如何使用 HttpRunner 做接口自動(dòng)化測(cè)試

        共 2719字,需瀏覽 6分鐘

         ·

        2020-09-16 03:24


        點(diǎn)擊上方“AirPython”,選擇“加為星標(biāo)

        第一時(shí)間關(guān)注 Python 原創(chuàng)干貨!


        1. 前言

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

        其中,

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

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

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

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

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

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

        2.介紹及安裝

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

        HttpRunner 主要包含下列特征:

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

        • 以 YAML 和 JSON 定義測(cè)試用例,通過 pytest 去運(yùn)行

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

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

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

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

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

        • 集成 allure 生成強(qiáng)大的測(cè)試報(bào)告

        • 集成 locust,非常方便做性能測(cè)試

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

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

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

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

        3.常見命令

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

        1、hrun

        HttpRunner 最主要的命令,主要作用是運(yùn)行?Py/YAML/JSON 格式的測(cè)試用例

        2、hmake

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

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

        3、har2case

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

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

        4、locusts

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

        5、其他命令

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

        4.小試牛刀

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

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

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

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

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

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

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

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

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

        第三步,運(yùn)行測(cè)試用例

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

        #?生成測(cè)試報(bào)告
        hrun?demo_test.py?--html=report.html

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

        5.腳手架

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

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

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

        其中,

        1、debugtalk.py

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

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

        2、har

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

        3、reports

        生成測(cè)試報(bào)告的目錄

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

        4、testcases

        用于放置測(cè)試用例

        使用 hrun 命令可以直接運(yùn)行腳手架項(xiàng)目

        #?運(yùn)行腳手架項(xiàng)目
        #?hrun?項(xiàng)目名稱
        hrun?demo

        6.最后

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

        HttpRunner 更加復(fù)雜的功能,我已經(jīng)官方文檔基礎(chǔ)上,整理出了一個(gè)詳細(xì)的操作手冊(cè)關(guān)注公眾號(hào)后回復(fù)「?HR?」即可獲取

        如果你覺得文章還不錯(cuò),請(qǐng)大家?點(diǎn)贊、分享、留言?下,因?yàn)檫@將是我持續(xù)輸出更多優(yōu)質(zhì)文章的最強(qiáng)動(dòng)力!


        留言送書

        本周贈(zèng)書:《深入淺出Python機(jī)器學(xué)習(xí)
        PS:中獎(jiǎng)名單將于下周一在交流群公布
        本書內(nèi)容涵蓋了有監(jiān)督學(xué)習(xí)、無監(jiān)督學(xué)習(xí)、模型優(yōu)化、自然語言處理等機(jī)器學(xué)習(xí)領(lǐng)域所必須掌握的知識(shí),從內(nèi)容結(jié)構(gòu)上非常注重知識(shí)的實(shí)用性和可操作性。全書采用由淺入深、循序漸進(jìn)的講授方式,完全遵循和尊重初學(xué)者對(duì)機(jī)器學(xué)習(xí)知識(shí)的認(rèn)知規(guī)律。


        推薦閱讀


        帶你用 Python 實(shí)現(xiàn)自動(dòng)化群控(入門篇)

        這些自動(dòng)化場景,批處理完全可以取代 Python

        抖音超火的九宮格視頻是如何生成的,Python 告訴你答案



        AirPython 公眾號(hào)的交流群已經(jīng)建立,群里可以領(lǐng)取 Python 相關(guān)學(xué)習(xí)資料,大家可以一起學(xué)習(xí)交流,效率更高,如果是想發(fā)推文、廣告、砍價(jià)小程序的敬請(qǐng)繞道!一定記得備注「?交流群?」,不然不會(huì)通過好友

        瀏覽 44
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
        評(píng)論
        圖片
        表情
        推薦
        點(diǎn)贊
        評(píng)論
        收藏
        分享

        手機(jī)掃一掃分享

        分享
        舉報(bào)
          
          

            1. 午夜成人中文字幕在线视频 | 逼网站| 无码爱爱视频 | 欧美三级午夜理伦三级小说 | juliaann激情办公室 |