1、接口測試的概念php
弄清楚接口測試,首先要了解前端(client端)和後端(server端),前端目前主流三個系統,web端和移動端,web端經常使用語言是html、css、js。移動端分爲ios和Android,ios經常使用語言是swift、object-c,Android經常使用語言就是Android。然後端(server端)開發語言就比較多了,如java、python、php、.net等等。而接口就是把先後端聯繫起來的一種數據類型傳送方式。測試接口必需要有接口文檔,按照接口文檔的入參與出參格式對照進行比對。css
接口測試如今用的最多見的數據傳送類型就是json。格式以下:html
{
'name':'王五' ,
'sex':男
}前端
接口返回的數據都是json。
key-value
鍵值對java
目前還有xml這種數據類型。格式以下:python
<name>wangwu</name>ianjia
<sex>nan</sex>ios
接口測試其實就是功能測試,包含各類花樣操做數據庫。若是是get請求,不須要藉助任何工具,瀏覽器能夠直接發送請求。參數須要在路徑後面加?添加,多個參數傳參參數和參數之間用&隔開如:web
http://ip/api/user/stu_info?stu_name=小四&sex=女&xxx=xx數據庫
2、cookie和session的概念json
cookie就是存放在本地的一個鍵值對。如:
niuhanyang:hahaha12345,實際上key-value中的value值可能會作一些特殊處理。
session就是存放在服務器的一個鍵值對。如:
niuhanyang:hahaha12345,實際上key-value中的value值可能會作一些特殊處理。
當本地清除緩存後,本地存放的鍵值對消失,這個時候服務器校驗須要從新登陸。目前主流大型網站都實行的是DNS解析,就是將域名解析成IP。
三。http請求及get請求和post請求區別
http請求分爲兩個部分,請求頭和請求體,請求頭裏面呢是一些額外的信息,好比說用的什麼瀏覽器,cookie,須要什麼類型數據,header,請求體裏面傳的是具體的數據。
get請求和post請求的區別:
一、get請求只有請求頭,是沒有請求體的。它的數據直接放在url裏面的,post請求數據是放在body裏面的。
二、get請求有長度限制,post請求沒有,在之前的時候技術很差,有長度限制,如今已經就沒有了。
三、get請求和post請求同樣,只要經過抓包,post請求數據同樣能夠看到。
http狀態碼:
200 請求成功
302 重定向
404 客戶端發出去的請求不合法
500 服務端內部程序問題 501 服務器還不具備請求功能 502 錯誤的網關 503 服務器在維護或暫停 504 網關超時
工具篇:
1、postman變量設置
添加變量,點擊globals,輸入變量名和變量值,引用時是用{{}}符號引用。
2、jmeter
jmeter是一款開源的java開發的一個壓力測試工具。
jmeter查看結果樹亂碼解決方法:
一、在jmeter的bin目錄下找到jmeter.properties這個文件添加上sampleresult.default.encoding=utf-8。
二、重啓jmeter。
jmeter body data裏面有亂碼解決方法:
一、在jmeter的bin目錄下找到jmeter.properties這個文件添加上jsyntaxtextarea.font.family=Hack。
二、重啓jmeter。
jmeter參數化三種方式:
一、在用戶自定義變量。
二、函數助手框中的函數生成器。
__random 表明隨機數,表明在某個範圍值取隨機
__counter 計數器函數,從1開始計數。
__time 時間函數,有2種,一種是格式化好的時間 yyyyMMddHHmmss,一種是時間戳,從計算機發明那一天到如今過了多少秒。
jmeter是java開發的,Java裏面的時間戳默認是精確到毫秒。
因此你要除以1000纔是真正的時間戳。
三、從文件中讀取
jmeter斷言:
jmeter關聯:
一、調用第一個接口,而後從這個接口的返回數據裏面拿到某個值
二、放到第二個接口裏面來用。