首页 > 其他分享 >技术分享 | 接口自动化测试如何进行认证?

技术分享 | 接口自动化测试如何进行认证?

时间:2022-08-30 14:44:07浏览次数:76  
标签:HTTP ad basic auth 认证 123 接口 自动化

本文节选自霍格沃兹测试开发学社内部教材

在 HTTP 中,基本认证是允许使用 HTTP 协议的用户在请求时,提供用户名和密码的一种方式。在进行基本认证的过程里,请求的 HTTP 头字段会包含 Authorization 字段: Authorization: Basic <凭证>,该凭证是用户和密码的组和的 base64 编码。碰到这种类型的接口,使用 Java 的 REST Assured 或者 Python 的 Requests 均可解决。

实战练习

Python 版本

  1. 使用 HTTPBasicAuth 类将 HTTP 基本身份验证附加到给定的 Request 对象
  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'

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();
    }
}

⬇️ 喜欢这篇文章的话烦请点个“赞”哦! PS:有问题可以联系我们哦~v ceshiren001

>>更多技术文章分享和免费资料领取

标签:HTTP,ad,basic,auth,认证,123,接口,自动化
From: https://www.cnblogs.com/hogwarts/p/16639251.html

相关文章

  • drf快速生成5个基本的api接口
    序列化器serializer:fromrest_frameworkimportserializersfrom.modelsimportStudentclassStudentModelSerializer(serializers.ModelSerializer):classM......
  • go语言接口详解
    go语言实现接口的条件如果一个任意类型T的方法集为一个接口类型的方法集的超集,则我们说类型T实现了此接口类型。T可以是一个非接口类型,也可以是一个接口类型。实现......
  • 网站测试自动化入门 |无浏览器指南
    网站测试自动化入门|无浏览器指南奖励:如果您喜欢我们的内容和这篇“网络自动化测试”文章,您可以加入我们的网络浏览器自动化松弛社区.软件开发生态系统处于不断变......
  • Spring的自动化装配
      在Spring中,对象无需自己查找和创建与其所关联的其他对象。相反,容易负责把需要相互协作的对象引用赋予各个对象。例如,一个订单管理的组件需要信用卡认证组件,但它不需要......
  • Python3处理grpc接口返回包含中文编码的protobuf数据时的显示问题
    [本文出自天外归云的博客园]当你用python调用grpc接口的时候,返回的protobuf数据中如果含有中文,会显示成编码模式,类似“\345\214\227\344\272\254”,如何显示成中文呢?这里有......
  • 基于django原生代码提供api接口
    创建了表单student:fromdjango.dbimportmodelsclassStudent(models.Model):#学生信息name=models.CharField(max_length=255,verbose_name="姓名"......
  • PostMan请求Web Api接口提示“Bas Request”错误
    一、如果PostMan请求WebApi接口提示“HTTPError400.Therequesthostnameisinvalid”错误出现上述错误的场景:1.在测试服务器上,项目是直接通过VisualStudio直接启......
  • flask 接口无法连接
    flask运行一段时间后出现接口无法访问:本地+远程都无法访问该接口服务,top,pstress-ap可以看到服务在运行,后台log没有异常死锁的感觉,请求该接口返回如下:ConnectionError:......
  • nginx 账号认证功能
    nginx账号认证功能//创建账号密码yum-yinstallhttpd-toolsmkdir-p/usr/share/nginx/passwdhtpasswd-cbm/usr/share/nginx/passwd/.htpasswduser1123456htpa......
  • 网络设备巡检自动化
      importnetmikofromnetmikoimportConnectHandlerimporttimeimportostoday=time.strftime("%Y-%m-%d",time.localtime())switch_with_authentication_......