软件测试 | 接口测试认证体系

182 阅读1分钟

在使用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 = "https://httpbin.ceshiren.com/basic-auth/ad/123"
     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("https://httpbin.ceshiren.com/basic-auth/ad/123").
               then().statusCode(200).log().all();
     }
}