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