1. 程式人生 > >JMeter學習北京快樂8源碼下載筆記15-如何用JMeter做接口測試

JMeter學習北京快樂8源碼下載筆記15-如何用JMeter做接口測試

源碼下載 做的 運行 北京 查看 天氣服務 應用 數據 狀態碼

本文北京快樂8源碼下載論壇:haozbbs.com Q1446595067 介紹JMeter如何做web service測試,一般來說web服務,一般指的是HTTP請求相關的內容。這裏就介紹一下如何利用JMeter做基於HTTP的web接口測試。接口也叫API(Application Programming Interface),很多我們使用的各種APP,上面的內容顯示大部分都調用後臺web服務器的接口,有些是網站的接口,有些是solr的接口。

什麽是接口?

   我們這裏舉例一個生活中場景來幫助你理解接口。加入你去餐館點餐,看了菜單,告訴服務員,你要一個宮爆雞丁,過一會,服務員就端上宮爆雞丁給你就餐。這個場景,有三個對象,你、服務員,宮爆雞丁,具體關系是,你點了宮爆雞丁,服務員拿著你點的菜,告訴後廚去做這個菜,一段時間,後廚做好了,服務員給你端上宮爆雞丁這個菜。再精簡一點就是,你告訴服務員,你要宮爆雞丁,服務員一會就給你上宮爆雞丁。服務員在這個過程,就是一個接口的作用,你發送了一個點菜的請求,服務員給你上宮爆雞丁就是一個請求的響應。

   這樣的事情,在軟件中就這樣叫法:你點菜是向服務員發送了一個請求,具體的菜名就是傳入的參數;服務員給你上菜,就表示已經對你的請求做了響應,響應的內容是,宮爆雞丁。再舉例一個實際應用,我們手機桌面一般有一個天氣預報,你設置了地區,就給你顯示這個地區的天氣預報。這個過程的大致原理是,手機廠商或者天氣預報這個軟件,在一些能提供天氣服務的機構,申請了或者幹脆花了錢,軟件裏面調了人家商業結構的提供的天氣的API。具體天氣的數據都來自這些提供天氣服務的商業機構。今天我們就來測試一個關於天氣的接口。

   接口測試,大致流程是: 拿到一個接口文檔,分析好請求方式是什麽,主要有POST和GET方法,請求URL是什麽,請求需要傳入幾個參數,參數的值是多少,檢查請求響應的代碼是什麽,響應的內容有沒有接口文檔裏描述的返回參數。接口測試可以手工做,也可以自動化做,自動化做的難點就是如何去對響應列表進行斷言。

天氣接口服務準備工作

為了寫這篇文章,花了很多時間,在網上找免費的天氣API,基本上找到了國內的新浪天氣和國外的一個網站。國外的網站,我沒有找到北京這個地區的代碼,所以通過API獲取不到北京的天氣信息,這裏就不講國外的。

  1. 打開新浪天氣網站:http://php.weather.sina.com.cn/

  2. 在試試輸入框搜北京,點擊搜索按鈕,記住當前URL是:http://php.weather.sina.com.cn/search.php?city=%B1%B1%BE%A9&dpc=1

需要記住的是city=%B1%B1%BE%A9

其實這個看起來像亂碼的字段就是北京的轉義顯示的一種形式,URI協議的知識,知道就可以。上海就變成和上面類似的亂碼字段,但是肯定不同。

  1. 來看看這個借口請求地址

http://php.weather.sina.com.cn/xml.php?city=%B1%B1%BE%A9&password=DJOYnieT8234jlsK&day=0

解釋拆分(對照JMeter http 請求界面):

domain: php.weather.sina.com.cn

path: /xml.php

參數一共有三個,分別是城市,密碼和天,密碼是固定不變的,day=0代表當天,day=1代表明天,以此類推:

參數1: key:city value:%B1%B1%BE%A9

參數2: key:password value:DJOYnieT8234jlsK

參數3: kye:day value:0

了解了這些之後,我們來看看如何用JMeter來實現這個北京天氣查詢的接口測試。

1)打開JMeter UI界面

2)新建一個Thread Group

3)新建一個Sampler,選擇HTTP Request

4)新建一個Lisenter,選擇View Result Tree

5 ) HTTP Request界面設置如下圖

6) 點擊運行測試

7) 查看結果

-點擊View Results Tree,查看結果,發現亂碼

-把text改成document,再次看看

你還可以去Sampler result這個tab裏面查看響應狀態碼是不是200

好了,如何用JMeter做接口測試就介紹到這裏。

JMeter學習北京快樂8源碼下載筆記15-如何用JMeter做接口測試