在正式進入介面測試之前,我們來回憶和補充一下關於介面的基礎知識,這將為我們後面做介面測試奠定基礎。好了,廢話不多說,直接上乾貨。
1)常見的介面協議
2)什麼是介面測試
介面測試本質是基於某種協議,傳送乙個請求給伺服器,然後伺服器返回乙個響應資料,通過對響應資料的分析,判斷是否與我們預期的返回一致,從而驗證功能是否正確,這就是介面測試。
那麼,客戶端到底是如何向伺服器傳送請求的呢?
1)初識http協議
http協議:超文字傳輸協議(hypertext transfer protocol)是網際網路上應用最為廣泛的一種網路協議。所有的html檔案都必須遵守這個標準。設計http最初的目的就是為了提供一種發布和接受html頁面的方法。
https協議:(hypertext transfer protocol over secure socket layer)簡單講就是http協議的安全版,在http協議下加入了ssl層。
ssl:(secure socket layer 安全套接層)主要用於web的安全傳輸協議,在傳輸層對網路連線進行加密,保障在internet上資料傳輸的安全。
2)http請求的過程
http通訊由兩部分組成:客戶端請求資訊 和 伺服器響應資訊。
3)http請求資訊
在瀏覽器輸入url位址訪問某個**,傳送乙個http請求到伺服器的請求訊息,包含以下格式:
請求行:
請求頭部(request headers):
referer(頁面跳轉處):表示請求的網頁來自哪個url,使用者是從該referer頁面訪問到該頁面的。這個屬性可以用來追蹤web請求來自哪個頁面,是從什麼**來的等。
accept-language(語言種類):指出瀏覽器可以接受的語言種類,如en或en-us表示英語,zh或者zh-cn表示中文,當伺服器能夠提供一種以上的語言版本時要用到。
cache-control:max-age= 0:明確表示不會快取伺服器資源;
accpet-charset(字元編碼):指出瀏覽器可以接受的字元編碼。如果在請求訊息中沒有設定這個域,預設是任何字符集都可以接受;
cookie:瀏覽器用這個屬性向伺服器傳送cookie。cookie是在瀏覽器中寄存的小型資料體,用以記載和伺服器相關的使用者資訊,也可以用來實現會話功能,後面我們會詳細介紹;
content-type(post資料型別):post請求裡用來表示的內容型別。
4)http響應資料
伺服器接收到請求後,返回的http響應也由4部分組成,分別是:
狀態行:乙個數字與文字組成的狀態碼,用來顯示請求成功失敗資訊,如:status code: 200 ok
訊息報頭:響應頭與請求頭包含許多有用資訊,例如:伺服器型別、日期時間、內容型別和長度等。
伺服器端的響應header(response header)
空行:用來分割
響應體:即響應正文。
5)http響應狀態碼
100 (繼續) 請求者應當繼續提出請求。 伺服器返回此**表示已收到請求的第一部分,正在等待其餘部分。
101 (切換協議) 請求者已要求伺服器切換協議,伺服器已確認並準備切換。
200(成功) 伺服器已成功處理了請求。通常,這表示伺服器提供了請求的網頁。
201(已建立) 請求成功且伺服器已建立了新的資源。
202(已接受) 伺服器已接受了請求,但尚未對其進行處理。
203(非授權資訊) 伺服器已成功處理了請求,但返回了可能來自另一**的資訊。
204(無內容) 伺服器成功處理了請求,但未返回任何內容。
205(重置內容) 伺服器成功處理了請求,但未返回任何內容。與 204 響應不同,此響應要求請求者重置文件檢視(例如清除表單內容以輸入新內容)。
206(部分內容) 伺服器成功處理了部分 get 請求。
300 (多種選擇) 針對請求,伺服器可執行多種操作。 伺服器可根據請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇。
301 (永久移動) 請求的網頁已永久移動到新位置。 伺服器返回此響應(對 get 或 head 請求的響應)時,會自動將請求者轉到新位置。
302 (臨時移動) 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。
303 (檢視其他位置) 請求者應當對不同的位置使用單獨的 get 請求來檢索響應時,伺服器返回此**。
304 (未修改) 自從上次請求後,請求的網頁未修改過。 伺服器返回此響應時,不會返回網頁內容。
305 (使用**) 請求者只能使用**訪問請求的網頁。 如果伺服器返回此響應,還表示請求者應使用**。
307 (臨時重定向) 伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求。
400 (錯誤請求) 伺服器不理解請求的語法。
401 (未授權) 請求要求身份驗證。 對於需要登入的網頁,伺服器可能返回此響應。
403 (禁止) 伺服器拒絕請求。
404 (未找到) 伺服器找不到請求的網頁。
405 (方法禁用) 禁用請求中指定的方法。
406 (不接受) 無法使用請求的內容特性響應請求的網頁。
407 (需要**授權) 此狀態**與 401(未授權)類似,但指定請求者應當授權使用**。
408 (請求超時) 伺服器等候請求時發生超時。
409 (衝突) 伺服器在完成請求時發生衝突。 伺服器必須在響應中包含有關衝突的資訊。
410 (已刪除) 如果請求的資源已永久刪除,伺服器就會返回此響應。
411 (需要有效長度) 伺服器不接受不含有效內容長度標頭字段的請求。
412 (未滿足前提條件) 伺服器未滿足請求者在請求中設定的其中乙個前提條件。
413 (請求實體過大) 伺服器無法處理請求,因為請求實體過大,超出伺服器的處理能力。
414 (請求的 uri 過長) 請求的 uri(通常為**)過長,伺服器無法處理。
415 (不支援的**型別) 請求的格式不受請求頁面的支援。
416 (請求範圍不符合要求) 如果頁面無法提供請求的範圍,則伺服器會返回此狀態**。
417 (未滿足期望值) 伺服器未滿足」期望」請求標頭字段的要求。
500 (伺服器內部錯誤) 伺服器遇到錯誤,無法完成請求。
501 (尚未實施) 伺服器不具備完成請求的功能。 例如,伺服器無法識別請求方法時可能會返回此**。
502 (錯誤閘道器) 伺服器作為閘道器或**,從上游伺服器收到無效響應。
503 (服務不可用) 伺服器目前無法使用(由於超載或停機維護)。 通常,這只是暫時狀態。
504 (閘道器超時) 伺服器作為閘道器或**,但是沒有及時從上游伺服器收到請求。
505 (http 版本不受支援) 伺服器不支援請求中所用的 http 協議版本。
6)http請求方法
根據http標準,http請求可以使用多種請求方法:
http請求常用的get和post兩種方法:
用兩句話來理解鑑權和授權:
1)cookies和session
首先我們用一張圖來表示它們之間的關係:
token和session的區別:
介面基礎知識
介面的命名規則與類相同,如果修飾符是public,則該介面在整個專案中可見 如果省略修飾符,則該介面只在當前包前可見 介面中可以定義常量,不能定義變數,介面的屬性都會自動用public static final修飾,既介面中的屬性都是全域性靜態常量,介面中的常量必須在定義時指定初始值 介面中所有方法...
介面基礎知識
1 介面是橋梁,前後端是分開開發的,模擬介面moke 2 介面組成 get,和post全球性不一樣 get 進行分割 post是乙個鏈結,通過資料進行拼接 資料之間只有乙個表單的形式進行提交 介面分類 put,indit,get,post 如何理解介面?橋梁,負責傳輸資料 介面測試和功能測試區別?在...
介面測試基礎知識
什麼是介面測試 測試人員通常所說的 介面測試 是針對系統各元件之間介面的一種測試,它屬於功能測試。介面能測出普通介面操作難以發現的問題。如,我們都知道系統是由前端後端組成,一些資料在前端做了校驗,後端同樣也需要校驗才能保證安全,介面操作顯然只能檢查到前端校驗這一層,只有直接面對前後端之間的該介面才能...