第七篇 Postman+Node.js+Newman+Jenkins實現自動化測試

今天終於不咋忙了,學習整理一下一直想作卻沒實現的事兒,這事已經摺磨團隊半年之久了。由於項目是B端業務的測試,測試過程當中須要生產大量的測試數據,並且都是跨多個系統的測試,對於後置流程的測試,這些同窗每每要想有一條測試數據,就要自個去一步步的操做前置流程,最關鍵的是太耗時間,一條數據可能要花掉1個小時左右,加上測試環境常常不問題,1小時沒了,結果測試數據也無效了。頭疼吧,你也常常遇到吧。好,下面就經過Postman+Newman+node+Jenkins實現自動化測試,順便生成測試數據吧。html

一. Postman裏須要乾的事node

 1. 將須要的測試接口整理到collections裏,最好建立成文件夾的形式git

        

 2. 測試用例編寫,斷言等等都請參考個人postman系列文章github

 3. 將須要執行的接口導出存放到本地npm

    

4. 大部分業務流程都須要進行各類參數化或者接口之間有數據依賴,最好的方式也是經過設置環境變量或者全局變量的方式實現,因此若是設置環境變量,也須要將環境變量導出存放到本地json

     

導出後存放到本地:網絡

           

 二. Node.jspost

Node.js是幹啥的嘞?由於安裝newman須要先安裝Node.js學習

安裝幫助文檔:https://nodejs.org/en/download/package-manager/測試

下載版本:https://nodejs.org/en/#download

安裝並配置環境變量:

  

 三. Newman

Newman是爲Postman而生,專門用來運行Postman編寫好的腳本。此Newman,非彼Newman,紐曼音樂播放器。

官方幫助文檔:https://www.npmjs.com/package/newman#getting-started

Newman安裝步驟:

  1. 打開控制檯cmd,運行:npm install -g newman
  2. 檢測是否安裝成功:newman --version
  3. 配置環境變量

    

  4. 由於多數狀況下,爲了更好的看到測試結果,通常會輸出HTML格式的報告,因此也要安裝:newman-reporter-html

  newman-reporter-html 安裝及用法官方參考文檔:https://github.com/postmanlabs/newman-reporter-html#readme

  cmd命令:npm install -g newman-reporter-html

Newman 執行腳本:

  newman run 後面跟上要執行的json文件或者URL(json 和 URL 都由postman導出生成),後面跟一些參數,例如環境變量,測試報告,接口請求超時時間等等。

  常見命令: 
    run 運行newman的命令 
    -e 加載環境變量的數據 
    -g 加載全局變量的數據 
    -n case運行次數,默認運行次數爲1次 
    –folder 運行collection中的指定folder 
    --reporters html,junit 指定生成報告的類型 
    其它命令可在github上查看: https://github.com/postmanlabs/newman#configuring-reporters 

  本地cmd執行示例命令:

   newman run E:\xiaomada\buyEensure.postman_collection.json -e E:\xiaomada\xiaomada_uat.postman_environment.json --reporters html --reporter-html-export E:\xiaomada\result.html

   

示例解析:

  newman run:運行newman的命令

  E:\xiaomada\buyEensure.postman_collection.json:要運行的接口,就是再postman裏導出的collections(這裏寫全路徑哦)

  -e E:\xiaomada\xiaomada_uat.postman_environment.json:要加載的環境變量,也是postman部分導出的數據

  --reporters html  或者 -r html:表示報告結果是html格式

  --reporter-html-export E:\xiaomada\result.html:表示導出報告格式是html的報告 到E:\xiaomada\目錄下面,報告名字是result.html

固然,能夠根據本身的實際須要生成JSON格式,cli格式,均可以哦,方法以下:

newman run E:\xiaomada\buyEensure.postman_collection.json -e E:\xiaomada\xiaomada_uat.postman_environment.json
--reporters cli,html,json,junit --reporter-json-export E:\xiaomada\jsonOut.json --reporter-junit-export E:\xiaomada\xmlOut.xml --reporter-html-export E:\xiaomada\htmlOut.html
紅色:表示超時5s--timeout-request 5000

全部的目的都是爲了解放雙手,來吧,Jenkins

四.Jenkins

 既然Newman提供了控制檯命令執行方式,那麼經過Jenkins來構建就容易多了。

  1.安裝Jenkins
     官方參考文檔:https://jenkins.io/
     下載安裝,傻瓜式,按照提示一步步操做就行
  2.搭建Jenkins環境,並新建個自由風格的Job
  3.構建選擇Execute Windows batch command,並輸入newman 運行命令
    

             

  4. 構建後操做

    由於我想用html報告展現,因此這裏須要用到一個插件:Publish HTML reports,須要先安裝後,才能在「構建後操做裏選擇」

    參考文檔:https://wiki.jenkins.io/display/JENKINS/HTML+Publisher+Plugin

    簡要整理安裝Jenkins插件的方式:

      系統管理-->插件管理-->可選插件Tab-->找到想要的插件,勾選-->點安裝按鈕

   配置構html reports的步驟:

    (1)先選擇Publish HTML reports,上面剛纔安裝的哦

            

   (2)選擇後,出下圖

    

    點擊【新增】進行配置,在配置以後,先看下每一項的說明(轉自網絡)

     

    具體配置項,根據本身的需求來,我只須要下面的配置:

    

提示:我上面填寫以後,最終的輸出目錄爲%workspace%/HTMLReport/index.html

注意:這裏的路徑都不能使用環境變量。

注意2:這個插件不會自動按照上面的路徑建立文件夾和文件,因此,必定要確保上面路徑上的文件夾和文件已經在工做空間建立好,否則會出現報錯。也就是說,這個插件是不建立任何html內容的。

注意3:這個插進不建立任何HTML報告,因此當你看到你的html內容時,會出現空白頁。若是想要出現html的報告,能夠配合一些xUnit plugin這樣插件來生成html報告,而後再上面的路徑中指向生成的html文件。

相關文章
相關標籤/搜索