1. 程式人生 > >Jenkins+postman+newman之API全自動化測試

Jenkins+postman+newman之API全自動化測試

1 背景

本文要介紹的環境在我司已經投入使用,舉個簡單的真實使用場景,開發提供了300多個API,每個API都有各種引數,所以我們會先在postman中為這300多個API編寫300*n個testcase,然後在jenkins上跑;到此有人可能會問,都在postman中寫好testcase了,怎麼還要去jenkins中跑,豈不是多此一舉?答案是否定的,試想,當開發一直在不停的維護這300多個介面時,難道需要開發每次都告訴我們測試人員該進行測試了嗎?顯然不是的,這就是jenkins+postman的自動化之處了,開發可以實現一個jenkins的上游job指令碼(當介面程式碼有修改時觸發我們這個testcase的下游job),當他們每次修改維護介面時不需要進行任何操作與交流,程式碼一旦提交jenkins就能自動化個性化地開始執行我們預定於的那些testcase了,然後我們只用關注最終的測試結果郵件即可,這樣大大的提高了開發測試效率。

鑑於國內很少測試工程師用postman來測試API,於是寫本篇文章分享下。前一個月用postman寫了API自動化測試指令碼,並用newman命令列執行所有測試案例,覺得沒有達到全自動化測試,於是配置jenkins job來執行API自動化測試指令碼,使API達到完全自動化測試!

2 環境配置與執行

這部分依次展示瞭如何安裝設定及執行一個基於Postman的自動化工具,具體如下。

2.1 postman 安裝

在谷歌瀏覽器下載postman外掛,並安裝,下載路徑(Chrome應用商店需要翻牆):https://chrome.google.com/webstore/search/postman?hl=en

。這個比較小兒科,一句話帶過就行了。(不過要注意,建議最好下載應用,而不是外掛,因為功能強大一些)。

2.2 newman 的安裝

第一步,安裝nodejs。
第二步,在nodejs命令列安裝newman,即命令列輸入如下命令:

npm install -g newman

這裡寫圖片描述

2.3 jenkins 安裝

去官網(https://jenkins.io/index.html)下載jenkins,各種下一步點選安即可(官網wiki等目錄下一般都有不同平臺的安裝文件,依據文件安裝即可)。

2.4 postman 使用與匯出

第一步,建立一個放置testCase的資料夾Test,如下:
這裡寫圖片描述

第二步,建立第一個testcase,點選下圖1處的加號新增一個case,在2處選擇你的API請求方式,在3處寫上api請求的url,在4處填寫該請求的相關引數,具體如下圖:
這裡寫圖片描述

下面展示了一個依據上圖步驟配置後的郵箱地址請求示例,如圖:
這裡寫圖片描述

第三步,對一個testCase的判斷可以寫在如下所示位置(判斷的意思是指譬如返回的狀態碼、內容等是不是你期望的值):
這裡寫圖片描述

第四步,點選send按鈕即可傳送一個請求,同時可以看到請求的結果,如圖:
這裡寫圖片描述

當然,一般Test目錄可能有很多的testCase,這種情況下我們可以選中資料夾,然後點選start Test按鈕,這樣就會自動執行資料夾內的所有testcase並顯示測試結果,如圖:
這裡寫圖片描述

第五步,匯出上面在postman中寫的testCase檔案和設定的環境變數檔案(如下圖匯出testCase alarm detail 檔案 和 environment 檔案)。這是最重要最核心的一步,自動化的源頭依賴於此步,請務必注意。
這裡寫圖片描述
這裡寫圖片描述

至此postman的基本使用和匯出就完事了,關於postman的其他主題設定、登入等等其他功能請自行摸索,其實很多開發也非常喜歡用postman,譬如移動端開發喜歡用postman去請求服務端提供的API,以此來簡單快捷驗證介面的正確性和Json、xml等資料格式。

2.5 jenkins 配置

在jenkins上配置如下圖,這個路徑就是上面通過postman匯出檔案的路徑。
這裡寫圖片描述

剩下的就是jenkins的常規操作了,譬如設定好郵箱後點擊立即構建或者設定多久構建一次,這樣自動化就跑起來了,等待自動化測試結束後我們就可以收到測試成功或者失敗的測試報告郵件(依賴於你的設定)了。

通過上面這些步驟即可完成基於postman和Jenkins的自動化介面測試。

3 總結

可以看見,其實postman就是一個GUI的工具,我們完全可以手動用它驗證介面,但是當有海量介面且有序執行時就比較麻煩了,所以我們可以通過postman將所有介面的測試案例進行編寫實現及匯出;而由於postman匯出的檔案想在jenkins上通過命令列執行依賴於newman環境,所以我們安裝配置了newman,以此就能解決jenkins只能執行命令列或者指令碼的弊端;他們幾個的結合就實現了一次測試案例的編寫實現個性化自動化的介面測試。

相關推薦

Jenkins+postman+newmanAPI自動化測試

1 背景 本文要介紹的環境在我司已經投入使用,舉個簡單的真實使用場景,開發提供了300多個API,每個API都有各種引數,所以我們會先在postman中為這300多個API編寫300*n個testcase,然後在jenkins上跑;到此有人可能會問,都在pos

Jenkins+Postman+NewmanAPI自動化測試流程

org inf 腳本 點擊 環境 目錄 安裝jenkins 選擇 aid 1. 環境配置 1.1安裝postman-chrome插件 鏈接:https://pan.baidu.com/s/1V3d40GGwU1OyzbzwB-2i0A 提取碼:vy8p 下載解壓,打開

Jenkins+postman+NewmanAPI自動化測試

java c11 col hide lena clas set webapp nload 操作環境:Windows、Jenkins、Java、Tomcat、nodejs、Newman、postman 安裝jdk並設置環境變量-->安裝Tomcat並設置環境變量--&g

Jenkins+Postman+Newma+XmysqlAPI自動化測試

第一章 前期準備:各種安裝配置介紹 ①Postman安裝及使用 ②Newman 安裝及使用 ③Xmysql 安裝及使用 ④Jenkins安裝及配置   1、postman 安裝及使用 1.1、postman安裝 略 1.2、postman使用 1.2.1、postman基礎功能

Jenkins+Newman+Postman自動化測試

1. 操作環境 1. Windows: win10 2. Jenkins Jenkins 2.76 3. Java JDK_1.8.0_64bit.exe 4. Tomcat apache-tomcat-8.0.11

使用mongodb+pytest+allure+jenkins構建api介面自動化測試

一.介紹         之前學習robotframework的時候,知乎上有人推薦這個框架,高呼pytest大法好,正好最近要重構一個專案的服務端介面自動化測試框架。         學了一下,確實很好用,分享出來一個自己,希望有所幫助吧。 二.功能      

《一頭扎進》系列Python+Selenium自動化測試框架實戰篇7 - 年底了還沒升職加薪,年終獎靠它了!!!

1. 簡介   截止到上一篇文章為止,框架基本完全搭建完成。那麼今天我們要做什麼呢????聰明如你的小夥伴或者是童鞋一定已經猜到了,都測試完了,當然是要生成一份高階大氣上檔次的測試報告了。沒錯的,今天巨集哥就帶領你們將這部分內容也整合到這個框架中。本文來介紹如何生成自動化測試報告,前面文章尾部提到了利用HTM

軟體測試系列Java Selenium3自動化測試

一.背景和目的        我大概是2015年開始接觸Selenium這個web自動化測試框架。當時是selenium2.48好像,從Selenium2.0開始,就加入了webdriver,實際上,我們說的selenium自動化測試,大部分情況都

postman安裝與使用以及自動化測試

Postman安裝與使用 postman是常用的API除錯工具,主要用於開發人員除錯介面以及測試人員做介面測試,官網地址:https://www.getpostman.com/ 安裝: https://www.getpostman.com/apps 使用: postman主介面:  

搭建基於IDEA+Selenium+Java+TestNG+Maven+Jenkins+SVN的Web端UI自動化測試環境

第一步:工具下載安裝配置 第二步:整合各個工具到自動化測試環境 1.IDEA上的各種操作 a.通過在idea工具,新建一個maven專案,在右邊載入框這裡,選擇maven-archetype-quickstart,然後點選next b.輸入Group Id:域.公司簡稱;Artifact Id:專案名稱

在搭建基於jenkins+maven+git+docker的自動化部署時遇到的問題

系統版本: 由於docker的安裝要求linux系統核心必須在3.10以上,因此,系統版本我選擇的是centos7.2,採用的是淘寶的雲伺服器,因此在更換系統以及在今後的docker等方面都簡單了不少,不得不說阿里的東西還是很不錯的,由於公司要求,我們

DevOps實踐(1)面向服務的自動化測試體系

一. 功能 依託於robotframework 根據程式碼註釋,自動生成測試庫 自動搜尋測試用例或指定測試用例檔案執行 commit觸發測試和週期性定時(按天/小時)測試 測試報表統計(區分環境) 企業微信通知測試結果 在此之前,大家要去複習兩個重要的概念,一個是【測試金字塔】模型, 另一個是

Web自動化測試Python + Pytest+Selenium+ Saucelabs

背景介紹: 關於Web Ui 全自動化測試,我們用簡單易學的python語言來編寫測試用例;採用Python的單元測試框架Pytest去控制和執行測試用例;採用開源的Web Ui 測試框架Seleniumt提供的API操作介面元素;使用Saucelabs平臺提

Python + Allure(報告)+ Jenkins(持續整合)介面自動化測試環境搭建

(這個是內部分享文件,側重於測試報告的生成以及持續整合,至於介面框架的內部組織可以按照自己的想法來實現,有問題歡迎留言) 1.環境: • 作業系統:windows 64位 • 軟體環境:python3.4.4;jdk1.8;jenkins1.65

python接口自動化測試框架

spa tool send tis pre ESS error one pro 梳理python+unittest接口自動化測試框架的思路: 1.確定目錄: cases:存放測試用例的py文件;config:存放一些數據庫,環境地址等固定不變的信息; core:核心的文件,

《一頭扎進》系列Python+Selenium自動化測試框架實戰篇6 - 價值好幾K的框架,呦!這個框架還真牛叉哦!!!

1. 簡介   本文開始介紹如何通過unittest來管理和執行測試用例,這一篇主要是介紹unittest下addTest()方法來載入測試用例到測試套件中去、用addTest()方法來載入我們測試用例到suite中去和利用discover()方法去載入一個路徑下所有的測試用例。 2. addTes

Postman+Newman+jenkins實現API自動化測試

bat 測試 選項 命令 www. 思路 9.png 回顧 linux   最近自己在學習用postman+newman+jenkins實現API自動化測試,這裏做個回顧和記錄。(此次是在windows上進行的環境搭建) 一、說明   1.大致思路:利用postman做

Postman + newman + jenkinsAPI自動化測試應用

exit mar back written put cts tca ins call 一、環境配置 Postman postman 的具體使用可以參考另外一篇文章:postman 做接口測試之學習筆記 Newman 第一步,安裝nodejs。 第二步,在nodejs命令

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

今天終於不咋忙了,學習整理一下一直想做卻沒實現的事兒,這事已經摺磨團隊半年之久了。因為專案是B端業務的測試,測試過程中需要生產大量的測試資料,而且都是跨多個系統的測試,對於後置流程的測試,這些同學往往要想有一條測試資料,就要自個去一步步的操作前置流程,最關鍵的是太耗時間,一條資料可能要花掉1個小時左右,加上測

Postman+Newman+Git+Jenkins介面自動化測試

一、Postman    1、建立Collection,在Collection中建立介面請求,如下圖所示。    2、編寫介面對應的斷言Test和Pre-request Script,如下圖所示。    3、配置介面對應的環境變數或全域性變數。    4、