1.1 API接口
定義:接口就是API(Application Programming Interface,應(yīng)用程序接口),是一個軟件或服務(wù)對外提供的接口球昨,別人只要調(diào)用這接口烤蜕,而內(nèi)部如何實現(xiàn),不需要關(guān)心韵吨。你只要按照要求進行接口調(diào)用即可匿垄。 外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各子系統(tǒng)之間的交互點。包括外部接口归粉、內(nèi)部接口椿疗。
1.2 GUI
GUI 是Graphic User Interface,是圖形用戶接口糠悼,主要提供可視化界面方面的接口
圖形用戶界面(Graphical User Interface届榄,簡稱 GUI,又稱圖形用戶接口)是指采用圖形方式顯示的 計算機操作用戶界面倔喂。與早期計算機使用的命令行界面相比铝条,圖形界面對于用戶來說在視覺上更易于接受靖苇。如Windows是以GUI(圖形界面)方式操作的,因為你可以用鼠標(biāo)來點擊按鈕來進行操作班缰,很直觀贤壁。而DOS就 不具備GUI,所以他只能輸入命令鲁捏。DOS 的這種界面叫CLI (Command line User Interface ) 命令行 模式的人機接口芯砸。
GUI的廣泛應(yīng)用是當(dāng)今計算機發(fā)展的重大成就之一,他極大地方便了非專業(yè)用戶的使用,人們從此不再需要死記硬背大量的命令给梅,取而代之的是可以通過窗口假丧、菜單、按鍵等方式來方便地進行操作动羽。
1.3 接口的表現(xiàn)形式
客戶端要先操作服務(wù)端資源包帚,首先要找到服務(wù)端提供的接口,然后才能向服務(wù)端發(fā)送資源請求运吓,服務(wù)端接口就是一個地址(URL):http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1
1.采用的協(xié)議(http:):一般來講網(wǎng)址中第一個“:”前面的就是該網(wǎng)址所采用的協(xié)議渴邦。這里的HTTP就是個協(xié)議 。HTTPS是HTTP的安全版本拘哨,HTTPS在HTTP的基礎(chǔ)對傳輸?shù)臄?shù)據(jù)進行了加密和簽名谋梭,以保證數(shù)據(jù)傳輸?shù)陌踩浴N覀兤匠4蜷_兩頁的時候會看到網(wǎng)址前面都有一個HTTP或HTTPS倦青,這就是告訴你瓮床,你在向服務(wù)器發(fā)送此請求的過程中要遵循的協(xié)議是HTTP或HTTPS (也就是規(guī)則)。
2.服務(wù)器地址(//www.qubaobei.com)):以雙斜杠“//”開頭产镐,后面跟的就是這個服務(wù)器的地址隘庄,專業(yè)術(shù)語叫域名。
3.請求資源路徑(/ios/cf/dish_list.php) :表示你要請求的資源在該服務(wù)器下/ios/cf/dish_list.php的路徑下癣亚。
4.參數(shù)(?stage_id=1&limit=20&page=1):參數(shù)可以找到具體內(nèi)容丑掺,和路徑之間使用“?”隔開,參數(shù)之間使用“&”隔開述雾。參數(shù)是以鍵值對的形式表現(xiàn)出來的街州。
把此URLhttp://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1稱為食品模塊個接口, 也稱為接口地址玻孟。
2.接口傳遞數(shù)據(jù)的方式
1.get方法
Get方式是從服務(wù)器上獲取數(shù)據(jù)唆缴;在做數(shù)據(jù)查詢時,建議用Get方式取募;如:公共服務(wù)部五大服務(wù)接口琐谤、查詢接 口蟆技,搜索接口玩敏、博客訪客系統(tǒng)接口等斗忌。
2.post方法
Post方式是向服務(wù)器傳送數(shù)據(jù) ;在做數(shù)據(jù)添加旺聚、修改或刪除時织阳,建議用Post方式 ;如:微博圖片上傳圖片 接口砰粹、Picself API接口等唧躲。
3.put方法
put這個方法比較少見。HTML表單也不支持這個碱璃。本質(zhì)上來講弄痹, PUT和POST極為相似,都是向服務(wù)器發(fā)送數(shù) 據(jù)嵌器,但它們之間有一個重要區(qū)別肛真,PUT通常指定了資源的存放位置,而POST則沒有爽航,POST的數(shù)據(jù)存放位置由 服務(wù)器自己決定蚓让。
4.delete方法
Delete:刪除某一個資源〖フ洌基本上這個也很少見历极。
3.接口傳遞數(shù)據(jù)的差異性
GET后退按鈕/刷新無害,POST數(shù)據(jù)會被重新提交(瀏覽器應(yīng)該告知用戶數(shù)據(jù)會被重新提交)衷佃。
GET書簽可收藏趟卸,POST為書簽不可收藏 。
GET能被緩存纲酗,POST不能緩存 衰腌。
GET歷史參數(shù)保留在瀏覽器歷史中。POST參數(shù)不會保存在瀏覽器歷史中 GET對數(shù)據(jù)長度有限制觅赊,當(dāng)發(fā)送數(shù)據(jù)時右蕊,GET 方法向 URL 添加數(shù)據(jù);URL 的長度是受限制的(URL 的最大 長度是 2048 個字符)吮螺。POST無限制 饶囚。
與 POST 相比,GET 的安全性較差鸠补,因為所發(fā)送的數(shù)據(jù)是 URL 的一部分萝风。在發(fā)送密碼或其他敏感信息時絕 不要使用 GET !
POST 比 GET 更安全紫岩,因為參數(shù)不會被保存在瀏覽器歷史或 web 服務(wù)器日志中规惰。
GET的數(shù)據(jù)在 URL 中對所有人都是可見的。POST的數(shù)據(jù)不會顯示在 URL 中泉蝌。
4.?接口測試
1.概念
測試系統(tǒng)組件間接口的一種測試歇万。接口測試主要用于檢測外部系統(tǒng)與系統(tǒng)之間以及內(nèi)部各個子系統(tǒng)之間的交互點揩晴。
2. 接口測試本質(zhì)和目的
實質(zhì)就是檢驗數(shù)據(jù)的傳輸和接受是否正常,傳輸?shù)氖墙涌诘刂分械膮?shù)贪磺,接受的是文本字符串/文件硫兰,然后對比內(nèi)容是否和預(yù)期的一樣。
目的:測試接口的正確性和穩(wěn)定性寒锚。
3.接口測試的原理
接口測試的原理是通過測試程序模擬客戶端向服務(wù)器發(fā)送請求報文劫映,服務(wù)器接收請求報文后對相應(yīng)的報文做出處理然后再把應(yīng)答報文發(fā)送給客戶端,客戶端接收應(yīng)答報文這一個過程刹前。
4. 接口測試流程
需求討論—>需求評審—>場景設(shè)計—>用例設(shè)計—>數(shù)據(jù)準(zhǔn)備—>執(zhí)行—>測試報告
5.接口測試內(nèi)容
功能邏輯泳赋、異常測試、路徑測試喇喉、結(jié)構(gòu)檢查
6.常用接口測試工具
1. 典型商業(yè)工具:
LoadRunner(LR):一款商業(yè)性能測試工具摹蘑,用來做接口測試,很好很強大 轧飞,但是配置比較麻煩衅鹿。
SoapUI:開源測試工具,通過soap/http來檢查过咬、調(diào)用大渤、實現(xiàn)Web Service的功能/負(fù)載/符合性測試;該工具既可作為一個單獨的接口測試工具使用,也可利用插件集成到Eclipse,maven2.X钾麸,Netbeans 和intellij中使用鬓椭。? ? 了解就可以了慌洪,基本已經(jīng)不用了。
2. 典型開源工具
Jmeter :一款開源的接口測試工具,操作簡單,方便较曼,既有jdbc request操作數(shù)據(jù)庫數(shù)據(jù),也有http request和soap request應(yīng)對測試
Postman:Postman 是一款restful api的測試工具振愿,既有g(shù)oogle瀏覽器插件捷犹,也有軟件
3. 擴展插件
postman:谷歌瀏覽器的擴展工具,主要用來做接口測試冕末,谷歌商店中選中安裝萍歉,界面同poster差別不大,界面簡潔