本文節選自霍格沃茲測試開發學社内部教材
在 HTTP 中,基本認證是允許使用 HTTP 協定的使用者在請求時,提供使用者名和密碼的一種方式。在進行基本認證的過程裡,請求的 HTTP 頭字段會包含 Authorization 字段:
Authorization: Basic <憑證>
,該憑證是使用者和密碼的組和的 base64 編碼。碰到這種類型的接口,使用 Java 的 REST Assured 或者 Python 的 Requests 均可解決。
實戰練習
Python 版本
- 使用 HTTPBasicAuth 類将 HTTP 基本身份驗證附加到給定的 Request 對象
- 通過 auth 參數傳遞認證資料資訊
import requests
from requests.auth import HTTPBasicAuth
def test_auth():
url = "https://httpbin.ceshiren.com/basic-auth/ad/123"
r = requests.get(url = url,
auth = HTTPBasicAuth("ad", "123"))
assert r.json()["user"]=='ad'
Java 版本
通過
given()
方法提供的
auth().basic()
方法完成使用者名密碼的驗證,第一個參數輸入使用者名,第二個參數輸入密碼。
import static io.restassured.RestAssured.*;
public class Requests {
public static void main(String[] args) {
given().
auth().basic("ad", "123").
when().
get("https://httpbin.ceshiren.com/basic-auth/ad/123").
then().statusCode(200).log().all();
}
}