1. 程式人生 > >第七篇 Postman+Node.js+Newman+Jenkins實現自動化測試

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

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

一. Postman裡需要乾的事

 1. 將需要的測試介面整理到collections裡,最好建立成資料夾的形式

        

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

 3. 將需要執行的介面匯出存放到本地

    

4. 大部分業務流程都需要進行各種引數化或者介面之間有資料依賴,最好的方式也是通過設定環境變數或者全域性變數的方式實現,所以如果設定環境變數,也需要將環境變數匯出存放到本地

     

匯出後存放到本地:

           

 二. Node.js

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
--timeout-request 5000 --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

所有的目的都是為了解放雙手,來吧,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檔案。