一般來說做接口測試,我們應(yīng)當手上能夠拿到后臺開發(fā)提供的接口文檔,但是我今天給大家找的是網(wǎng)絡(luò)上的案例,學(xué)習(xí)的同學(xué)可以一起看看。
一、天氣查詢接口(www.webxml.com.cn/WebServices/WeatherWebService.asmx )

二、在天氣查詢接口頁面點擊“getSupportCity”,字面意思去理解獲取支持的城市,顯而易見是一個查看系統(tǒng)支持哪些城市的接口方法,在編輯框輸入城市或地區(qū)名稱,如輸入“廣東”,點擊調(diào)用,會彈出廣東省城市信息列表,如下圖

三、代碼解析

看到這樣的結(jié)果表示我們的接口請求成功了,并獲得了支持的城市名稱城市,城市后面括號里是對應(yīng)的城市代碼?;氐轿覀兊哪_本中看看代碼的實現(xiàn)。import urllib2表示我們在python中導(dǎo)入了urllib2這個包,當然后面就是通過urllib2進行的接口訪問,具體的執(zhí)行也很簡單3行。第一行拼接我們需要訪問的接口地址,那么我們來看看接口地址怎么得到的呢?回到我們的網(wǎng)頁里找到GET里的介紹:
GET /WebServices/WeatherWebService.asmx/getSupportCity?byProvinceName=string HTTP/1.1
Host: www.webxml.com.cn
自然我們的url拼接起來就是host+get里邊的內(nèi)容,而‘?byProvinceName=string’后面的string是要我們傳遞的參數(shù),這里的傳遞參數(shù)要區(qū)別一下post傳遞參數(shù),這里是直接在網(wǎng)址里去傳,一般是‘?’后面就是參數(shù)了。最后的string就是具體我們要傳的內(nèi)容,比如我們要查詢是不是支持北京這個城市,就把string替換成北京。當然我們的腳本里是什么都沒傳,也就是表示傳的是個空值,在接口說明里提到了這樣的話:"輸入?yún)?shù):byProvinceName = 指定的洲或國內(nèi)的省份,若為ALL或空則表示返回全部城市;返回數(shù)據(jù):一個一維字符串數(shù)組 String(),結(jié)構(gòu)為:城市名稱(城市代碼)。"如果我們傳遞的是ALL或是空的話是返回全部的城市。那么我們?nèi)绻獋鬟f一個具體的城市名稱呢?比如我所在的西安,我們要這樣寫,借鑒網(wǎng)上網(wǎng)友toppoo所寫即可
四、周公解夢接口(www.gpsso.com/WebService/Dream/Dream.asmx )


具體實現(xiàn)代碼:
url='http://www.webxml.com.cn/WebServices/WeatherWebService.asmx/getSupportCity?byProvinceName='+u'廣東'.encode('utf-8')
有興趣的童鞋可以自己玩玩