在日常工作中,接到接口需求后,我們需要對被測的接口做一個整體分析。主要是從以下幾個方面着手:
一、分析接口的URL
對於URL來說,大家可能會很熟悉,比如我們日常的搜索百度,https://www.baidu.com,這就是一個不帶參數的請求地址。而一個完整的URL地址,都是由協議、服務器的IP地址或者域名、服務器的端口號、訪問路徑及請求參數組成,基本格式展示:https://host:port/path?xxx1=aaa&xxx2=bbb。協議類型一般分為:http和https。http是超文本傳輸協議,信息是明文傳輸;https 則是具有安全性的ssl加密傳輸協議。可以簡單的理解為 https=http+ssl,https比http更加安全一些而已。如果我們的接口采用的是http請求,http服務器的端口號默認都是80,可以省略不寫,但是特別指定的除外,比如http://192.168.0.1:8090。8090就是指定的端口號,這個不可忽略。URL請求地址中的“?”代表路徑和參數之間的分隔符,多個參數之間用“&”符號連接。
二、接口的請求方式
Http定義了與服務器交互的不同方法,最基本的方法有4種,分別是get,post,put,delete。日常開發接口請求常用的是 get 和 post 兩種方式,get一般用於獲取/查詢資源信息,是向服務器發索取數據的一種請求。而post一般用於更新資源信息,是向服務器提交數據,最常見的場景就是注冊某個帳戶,往往都是采用post請求。此外,post方式還有4種提交數據類型,分別是:application/json,application/x-www-form-urlencoded,multipart/form-data,text/xml。其中application/json是最常用,其格式是 {"name":"張三","age":26,"phone":123456};application/x-www-form-urlencoded 是瀏覽器的 form 表單,如果不設置 enctype 屬性,則以此方式提交,其格式為:name=張三&age=26&phone=123456;multipart/form-data 是一種表單格式,用來指定傳輸比較特殊類型的數據,比如圖片或者音頻等;text/xml 是一種直接傳xml的格式,一般以<?xml version="1.0" encoding="utf-8"?>格式開頭,不過要注意的是該類型會忽略xml頭所指定編碼格式而默認采用us-ascii編碼。
三、了解requestsLibrary測試庫
通過以上對接口url和請求方式的初步了解,我們進一步熟悉接口中用到的requestsLibrary測試庫。
首先,我們安裝兩個關鍵字:
requests 的官方下載地址:https://pypi.python.org/pypi/requests
requestsLibray 的官方下載地址:https://pypi.pyhon.org/pypi/robotframework-requests/
requestsLibray 的底層是基於 requests 關鍵字,requestsLibray 是用於 Robot Framework 的測試庫。安裝方法和第一篇的安裝方法一致,需要注意安裝順序,先要安裝 requests,后安裝 requestsLibray 。
requestsLibray測試庫有如下幾個比較常用關鍵字:
Create Session:創建一個session會話,其作用是連接某個服務器。
Get Request:發起 get 方式請求。
Post Request:發起 post 方式請求。
To Json:將文本轉換成json對象。
requestsLibray 測試庫是接口測試中非常重要的,我們用一張圖來直觀感受一下,如圖所示:
如果想進一步了解requestsLibray 測試庫的使用方法,可以訪問官方文檔:http://bulkan.github.io/robotframework-requests/