教培參考
教育培訓行業(yè)知識型媒體
發(fā)布時間: 2024年12月28日 18:01
SoupUI,這是我現(xiàn)在用的最多的接口測試工具。
在我們?nèi)粘5拈_發(fā)過程中,大多數(shù)是兩種類型的接口:SOAPAPI和RestAPI兩種,SoupUI對這兩種接口都有很好的支持,而且還支持AmazonWebService,這個只在軟件的首頁上看到過,沒有實際使用過。
其實很多的接口測試工具對這兩種常用的接口都有很好的支持,具體的使用方法我在這里也不詳細講了,都是圖形界面的操作,按照指示一步一步的新建即可完成。
其中它可以很方便地進行壓力測試,也是按照提示,一步一步新建,最后的的操作頁面是這樣的:
可以設置:并發(fā)數(shù)、策略,壓力測試的時間等。
結(jié)果可以展示:接口的最大響應時間、最小響應時間、平均響應時間、TPS等等。
非常好用,大家可以嘗試。
利用Jmeter做接口測試怎么做呢?過程真的是超級簡單。
明白了原理以后,把零碎的知識點填充進去就可以了。所以在學習的過程中,不管學什么,我一直都強調(diào)的是要循序漸進,和明白原理和邏輯。這篇文章就來介紹一下如何利用Jmeter做接口測試的流程,主要針對的是功能測試。暫不涉及到自動化測試和性能測試的內(nèi)容。
一把來說,主要的步驟都大差不差。
第一步:通過分析API文檔和需求文檔提取接口清單。
也就是說,接口測試工作人員工作的開始就是從API文檔和需求文檔開始的。所以進入公司的第一件事情就是要拿到API文檔和需求文檔來了解,來看,來分析。從其中提取接口清單的話,主要是因為API文檔中有很多冗余,不必要的信息。這些信息可能對于開發(fā)人員是有用的,但是對于我們測試人員是沒有用的,所以要去除冗余,提取關鍵信息。
那么怎么提取呢?方法也很簡單,從功能模塊和方法模塊對API文檔中的內(nèi)容進行提煉,提煉的關鍵是接口三要素:url+方法+參數(shù)+返回值。我的建議是可以先將所有的url提取出來,基本上一個url就是對應一個接口的,這樣一條線把整體拎起來,就感覺混亂的局面清晰多了。
當然工作中,有的時候我們是可以直接拿到接口清單的,因為清單這個事情一個團隊做一份就好了,并不是說要每個人都做一份。但是我們自己得會,得有這個能力。之前看到過一個面試題,問的是,如果沒有API文檔,怎么做接口測試?
其實問的就是如果沒有API文檔,應該怎么提取接口清單的問題。很簡單,根據(jù)需求文檔和原型圖來提取。有的公司不正規(guī),確實是沒有API文檔的?;蛘哂械墓続PI文檔寫的不規(guī)范,那提取的時候,就很考驗測試人員的經(jīng)驗和能力了。所以如果能找到遵循restful風格寫的優(yōu)秀API文檔,那就好了,提取的時候很方便。
第二步:針對接口清單,做單接口測試和關聯(lián)接口測試。
在實際測試過程中,單接口測試和關聯(lián)接口測試的時間是不一樣的,這涉及到業(yè)務邏輯測試和功能點測試等。但是在測試的時候,他們的邏輯和方法是類似的。
當然這里主要介紹的是單接口測試,因為單接口測試時會考慮各種可能的情況,而關聯(lián)接口測試一般是建立在單接口沒有問題的前提下的。換個角度來說,就相當于是兩個層次,單接口測試是基礎,而關聯(lián)接口測試是拔高。
那么具體應該怎么做呢?比如我們這里已經(jīng)選定而來某一個接口來測試。
首先,根據(jù)選定的接口來搭建測試框架。
接口不是什么大不了的事情,無非就是url、方法、參數(shù)、返回數(shù)據(jù)這四塊。這樣就意味著,一個接口的框架是固定的,只不過每次傳輸?shù)臄?shù)據(jù)和返回的數(shù)據(jù)可能會不一樣而已。所以我們要做的第一步就是搭建測試框架。
那么怎么搭建呢?這里就要用到從API文檔中整理出來的接口清單和Jmeter了。從接口清單里,可以拿到當下接口的url+方法+參數(shù)+預期返回數(shù)據(jù)。這就是我們搭建測試框架的依據(jù)。接下來用Jmeter搭建。
首先需要打開Jmeter,然后基于測試計劃,創(chuàng)建線程組,基于線程組創(chuàng)建HTTP請求??紤]到單接口測試,一個框架,要測試N多個數(shù)據(jù),而且后面的接口可能也要用到同樣的ip地址、同樣的content-type,所以一般會先創(chuàng)建一個HTTP請求默認值,將一些可能會重復用到的信息填進去,比如說端口號、協(xié)議之類的。如有必要還需要添加HTTP信息頭管理器,放一些user-agent、content-type等內(nèi)容。
好的,有了這兩個基礎就可以來創(chuàng)建HTTP請求。在新的請求里,已經(jīng)填寫的端口號呀、ip地址呀之類的就無需填寫了,只需要填寫方法之類的即可。那么搭建框架在哪里搭建呢?一般會考慮para或者body里。比如說,要提交一段json格式的數(shù)據(jù),那么就要用body(消息體)來提交,如下圖所示。
將從接口清單里拿到的json數(shù)據(jù)填寫到消息體數(shù)據(jù)里,然后將需要不斷傳入的數(shù)據(jù)進行參數(shù)化設置,那搭建測試框架就算是完成了。接下來只需要把數(shù)據(jù)一條一條傳入進行測試即可。
那么如何把數(shù)據(jù)進行傳入呢?
其實我們在下面的這篇文章里已經(jīng)介紹了,傳入數(shù)據(jù)的方法有四種,但主要使用的還是csv data set config 和函數(shù)。做功能接口測試,用csv就足夠了。那么具體怎么用呢?
星空下:軟件接口測試工具Jmeter使用核心詳解12 贊同 · 0 評論文章
基于當前的線程組或者請求創(chuàng)建CSV數(shù)據(jù)文件配置組件。如果這份數(shù)據(jù)只有這一個請求會用,那么就基于請求創(chuàng)建即可。如果這份數(shù)據(jù)會被這個線程組里的多個請求使用,那么就基于線程組創(chuàng)建。
創(chuàng)建了以后就需要填入文件了呢?可是文件在哪里呢?這個時候就要稍微停一下jmeter的操作,先去針對當前接口設計測試用例并形成有關文檔了。有關于功能接口測試的用例設計,我們之后會專門用一篇文章來介紹,這里先帶過。這是因為設計測試用例是做測試過程中最核心的一步。
在測試用例設計完之后,可以將其保存在一個txt文檔里,采用utf-8編碼,保存到Jmeter腳本的同一父目錄下。然后按照上面那篇文章里的設置方法進行設置即可,注意路徑可以采用相對路徑,便于數(shù)據(jù)文件的拷貝和使用。
csv組件設置好以后,數(shù)據(jù)源有了,變量名有了,變量名的賦值也有了,接下來就只剩引用參數(shù)就可以了。在測試框架里需要引用參數(shù)的地方引用,引用的格式是${參數(shù)名}。到這里,針對于某一個接口的測試工作就準備完成了。
然后在Jmeter里面添加查看結(jié)果樹組件,執(zhí)行請求,依次查看結(jié)果。看一看返回的數(shù)據(jù)和我們的預期結(jié)果是否一致,不一致,那可能就是一個bug。
做一個小小的總結(jié)吧,用jmeter做功能接口測試,其實很簡單的。邏輯和原理都是類似的,如果遇到新的項目,可能說會用一些新的組件而已,那百度一下幾分鐘的事情。在學習軟件測試的時候,最重要的就是不要慫,不要看起來說怎么要學的東子這么雜這么多,只要能夠拎出其中的線索和主干,然后把一些零碎的點給組裝上去,就會感覺,哇,忽然之間,好有條理。
軟件測試分為功能測試、接口測試、自動化測試、性能測試幾大方向,每個方向用到的測試工具都不盡相同。功能測試會用到SVN、禪道、QCALM、Jira等軟件測試管理工具。接口測試則會用到Jmeter、Postman、Fiddler軟件,使用Jmeter可以執(zhí)行測試用例,對頁面跳轉(zhuǎn),參數(shù)傳遞等功能進驗證。
自動化測試則又分為Web自動化測試和移動自動化測試。Web自動化測試主要會用到Selenium軟件以及Firebug插件工具,使用Selenium可以對網(wǎng)站的核心功能進行自動化測試,包括元素定位、鼠標鍵盤的模擬操作及自動化測試框架的使用等。Web自動化測試主要用到的是Appium以及Monkey軟件。Appium可以對APP核心功能進行測試驗證,包括ID、xpath、list元素定位,數(shù)據(jù)交互、模塊封裝以及自動化測試框架的使用,生成測試報告,對APP功能進行評估等。
性能測試則會用到Loadrunner軟件,它包含VuGen、Controller、Analysis
這些組件。VuGen用于協(xié)議、參數(shù)化、集合點、事務、檢查點、思考時間、關聯(lián)、文件下載、瀏覽器模擬設置。Controller用于手動場景設計、場景運行、IP
Wizard應用、負載生成器、服務水平協(xié)議(SLA)、場景監(jiān)控、服務器硬件監(jiān)測。Analysis則用于HTTP報文結(jié)構(gòu)、吞吐量相關、事務相關、網(wǎng)頁細分圖、執(zhí)行結(jié)果分析、圖表分析。
1、在Google已安裝完成的接口測試工具的postman的程序之后,點擊進入桌面的chrome應用啟動器。
2、進入到應用啟動器界面中之后,可以看到是postman的應用圖標程序,點擊進入。
3、進入到postman的歡迎的界面中,如果有賬號可以進行點擊登錄賬號,無賬號可以點擊Go to the app進入。
4、這樣就進入到postman界面中,進行對app網(wǎng)址進行測試,選擇get請求,把app網(wǎng)址在輸入框中輸入。
5、輸入完成之后,然后進行點擊send。
6、如果測試成功,返回的status為200 ok,這樣app接口測試就成功了。
以上就是peixunla.com小編為大家?guī)淼模撼R娊涌跍y試工具有哪些?的全部內(nèi)容,更多精彩請繼續(xù)關注。
微信掃碼關注公眾號
獲取更多考試熱門資料