技术分享 | 接口自动化测试如何进行认证?
本文节选自霍格沃兹测试开发学社内部教材
在 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();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了