介面自動化測試(2)
一、工具:
1.工具介紹
postman :很主流的API測試工具,也是工作裡面使用最廣泛的研發工具。
JMeter:
2.安裝postman:
安裝好直接開啟,不用註冊。
二、通訊模式:
1、同步通訊:
客戶端請求服務端必須有迴應,在迴應之前不能做別的操作,有缺陷,會造成排隊、等待、堵塞。
當任務太多時,伺服器壓力太大,可能會造成崩潰,為了防止崩潰這時就需要執行緒池技術,我們現在的軟體都是使用這種技術。
執行緒池技術:(所有的請求都是task,每個task都是一個執行緒)執行緒池指定同時執行最大任務數。(如伺服器指定最大任務數為90,客戶端發來100個任務數,剩下的10個採取佇列機制(先進先出原則))
queue:佇列(先進先出的原則)
2、非同步通訊:
客戶端向mq訊息佇列傳送資料(商品名、價格),服務端從mq訊息佇列獲取資料,向mq訊息佇列迴應(扣款成功),mq訊息佇列向客戶端迴應(支付成功)
主流的MQ訊息中介軟體:
Kafka、RabbitMQ、ActiveMQ
APache是Apache軟體基金會的一個開放原始碼的網頁伺服器
Kafka在大資料領域主要使用在實時流資料方面非常優秀,能夠處理千萬億的資料
RabbitMQ主要應用於一般的服務,對資料的一致性、可靠性、安全性要求高。
三、請求與響應
1.在網頁中抓取網路請求
京東網為例:右鍵檢查→Network→重新整理→www.jd.com
2.客戶端向服務端傳送Request請求:
2.1作用:
客戶端(app、瀏覽器)傳送請求給伺服器時,使用的協議——http請求協議。
規定傳送給伺服器的資料傳輸的語法格式。
2.2格式:
1、請求方法
2、請求地址
3、請求頭: Key:Value
User-Agent:描述請求傳送端的瀏覽器型別
Content-Type:描述請求引數的資料型別 (json資料格式;form表單資料)
4、請求引數
post和put大部分有請求引數
get和delete大部分沒有請求引數
postman的介紹:
2.3請求方法:
常用的請求方法有8種,最常用的有4-5種:
2.3.1 GET請求方法:獲取資源
例1:
步驟1:開啟京東網,在獲取到的資料種找一個圖片型別pgn,獲取請求地址複製到postman中用:
步驟2:在postman中選GET方法,貼上url定位:
query params
例2:
http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo
2.3.2 POST請求方法:新增資源(對服務端已存在的資源也可以做修改和刪除操作)
請求地址:
請求頭:
表現形式為key-value的形式
在請求頭中關注”Content-Type“來獲取請求引數的型別,如:
json資料格式:application/json
表單格式:application/x-www-form-urlencoded
XML資料格式:text/xml
請求引數:
例1:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo
步驟1:在介面文件中獲取:請求方法;請求地址(地址要加協議);請求頭中獲取請求引數型別;具體的請求引數:
總結一下獲取到的內容:
地址:http://ws.webxml.com.cn/WebServices/MobileCodeWS.asmx
方法:POST
請求頭:
資料格式:Content-Type: text/xml; charset=utf-8
請求引數:
<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> soap:Body <getMobileCodeInfo xmlns="http://WebXml.com.cn/"> <mobileCode>string</mobileCode> <userID>string</userID> </getMobileCodeInfo> /soap:Body /soap:Envelope
步驟2:開啟postman工具:
選擇請求方法
貼上請求地址(前面加http協議)
選擇請求頭,寫獲取到的資料型別
在請求體中,選響應的資料資料型別,填寫具體的請求引數
例2:
http://101.43.158.84/#/login 13484545195 asd888
步驟1:
步驟2:在postman中選擇方法、填地址(要填協議http)、在請求頭中新增資料型別、在請求體中選擇引數型別、貼上引數
2.3.3 PUT:修改資源
2.3.4 DELETE:刪除資源
2.3.5 OPTIONS:路由對映
3.服務端響應客戶端:
3.1作用:
伺服器端,針對客戶端傳送的http請求,回發響應資料——http應答
規定回發給客戶端的資料組織格式
3.2格式:
1、協議狀態碼
2、響應頭 (key:value)
Content-Type:描述響應體中的資料類
3、響應資料(絕大多數不為空。請求成功:回發資料,失敗:回發錯誤資訊)
4、響應時間(記):
指的是客戶端傳送的時間加上服務端響應回覆客戶端請求的時間之和。以毫秒為單位。
響應資料的大小以kb為單位。