软件测试 | 接口自动化认证体系
在使用HTTP网络协议时,网络的基本认证方式是:使用HTTP的用户发起请求,用户提供用户名和密码进行认证。在进行这种基本认证的过程中,用户发起请求的HTTP头字段会包含Authorization字段(Authorization: Basic<凭证>),该凭证是用户名和密码组合的base64编码。对于这种类型的接口进行测试,我们可以使用Python的requests或Java的RestAssured进行接口测试。
实战演示
实战演示代码如下(Python版和Java版)。
(1)Python演示代码
1)使用Python中的HTTPBasicAuth类将HTTP基本身份验证附加到requests对象中。
2)通过auth参数传递数据信息。
import requests
from requests.auth import HTTPBasicAuth
def test_auth():
url = ""
r = requests.get(url = url,
auth = HTTPBasicAuth("ad","123"))
assert r.json() ["user"] == 'ad'
(2)Java演示代码
通过Java中的given() 方法提供的 auth().basic()方法对用户名和密码进行验证,auth().basic()方法中的第一个参数为用户名,第二个参数为密码。
import static io.restassured.RestAssured.*;
public class Requests{
public static void main(String[] args) {
given().
auth().basic("ad","123").
when().
get("").
then().statusCode(200).log().all();
}
}