Java接口测试Cookie与token原理解析

 更新时间:2020年04月03日 17:17:43   作者:小强找BUG  
这篇文章主要介绍了Java接口测试Cookie与token原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一、Cookie与token机制测试

Cookie与Session

token机制

cookie/session机制需要在服务端保存大量的session信息,造成严重负担,而token机制则避免记录大量信息,采用服务器签发的token完成验证。

1、客户端使用用户名跟密码请求登录

2、服务端收到请求,去验证用户名与密码

3、验证成功后,服务端会签发一个 Token,再把这个 Token 发送给客户端

4、客户端收到 Token 以后可以把它存储起来,比如放在 Cookie 里或者 Local Storage 里

5、客户端每次向服务端请求资源的时候需要带着服务端签发的 Token

6、服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回请求的数据
相当于酒店在你入住之后,给你一段暗号,之后再来酒店,报暗号就可以入住了。

Cookie与token测试

加载与清空cookieStore

Httpclient提供了cookieStore类用于加载和读取cookies。

通过private CookieStore cookies = new BasicCookieStore();创建cookieStore

在构建httpclient时通过.setDefaultCookieStore(cookies)方法加载。

也可以通过添加头域Cookie的方式来添加Cookie。

通过一个布尔类型的标识参数来决定是否需要加载cookies。

添加token到请求头域

token通常在头域中被添加,当需要添加头域参数时,通过布尔类型的标识参数来决定是否设置新的头域。

通过setHeader方法完成头域的添加。

二、头域添加与参数传递

头域操作

为了方便头域信息键值对的传递和反复使用,并且方便方法封装时调用。使用map来保存头域信息的键值对,并通过循环遍历将头域headermap中的内容添加到http请求中使用。

参数传递

Httpclient方法封装

为了便于头域的管理和方法反复调用,将存储头域的map作为关键字类的成员变量,通过布尔变量来控制方法是否需要添加头域。
并设计方法实现该成员变量map赋值和清空。

同理,cookiestore也通过类似机制来管理是否需要使用cookie。

三、关键字需求封装

完成httpclientkw类的封装之后,发包流程的操作已经封装完成,基本操作已实现,接下来封装测试过程中的需求,以完成测试操作。

关键字需求封装

断言实现

将每次发包方法调用返回结果赋值给成员变量response,针对response进行断言操作。

头域参数json格式转换

为便于头域参数的管理,将头域参数写为json格式,通过json转换为map,再传递给HttpclientKw的addheader方法操作。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍

    基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍

    本篇文章小编将为大家介绍,基于java中stack与heap的区别,java中的垃圾回收机制的相关介绍,需要的可以参考一下
    2013-04-04
  • java 判断字符串是否包含子串的方法

    java 判断字符串是否包含子串的方法

    这篇文章主要介绍了java 判断字符串是否包含子串的方法的相关资料,这里提供了三种方法帮助大家实现这样的功能,需要的朋友可以参考下
    2017-08-08
  • 如何解决java.lang.NoClassDefFoundError:Could not initialize class java.awt.Color问题

    如何解决java.lang.NoClassDefFoundError:Could not initi

    文章讲述了在Java服务器中处理图形元素时遇到的常见问题,即需要运行X-server,通过在Tomcat/bin/catalina.sh中增加JAVA_OPTS环境变量并设置-Djava.awt.headless=true,可以解决这个问题,使服务器能够在没有图形界面的情况下运行
    2024-11-11
  • 详解Java反射实现Aop代理

    详解Java反射实现Aop代理

    本篇文章主要介绍了Java 反射实现 Aop 代理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • spring系列笔记之常用注解

    spring系列笔记之常用注解

    这篇文章主要给大家介绍了关于spring系列笔记之常用注解的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用spring具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-04-04
  • 浅谈java String.split丢失结尾空字符串的问题

    浅谈java String.split丢失结尾空字符串的问题

    下面小编就为大家带来一篇浅谈java String.split丢失结尾空字符串的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02
  • 详细介绍Spring的配置文件

    详细介绍Spring的配置文件

    这篇文章主要为大家详细介绍了Spring中的配置文件的命名以及它的配置文件都有些什么。文中的示例代码讲解详细,感兴趣的小伙伴可以跟上小编一起学习一下
    2022-10-10
  • Spring Boot Actuator入门指南

    Spring Boot Actuator入门指南

    SpringBootActuator是SpringBoot提供的一系列产品级特性,用于监控应用程序、收集元数据和运行情况,通过添加依赖,可以通过HTTP或JMX与外界交互,本文介绍Spring Boot Actuator的相关知识,感兴趣的朋友一起看看吧
    2025-02-02
  • Spring Security实现5次密码错误触发账号自动锁定功能

    Spring Security实现5次密码错误触发账号自动锁定功能

    在现代互联网应用中,账号安全是重中之重,然而,暴力 破解攻击依然是最常见的安全威胁之一,攻击者通过自动化脚本尝试大量的用户名和密码组合,试图找到漏洞进入系统,所以为了解决这一问题,账号锁定机制被广泛应用,本文介绍了Spring Security实现5次密码错误触发账号锁定功能
    2024-12-12
  • Java实现本地缓存的方式汇总

    Java实现本地缓存的方式汇总

    引入缓存,主要用于实现系统的高性能,高并发,这篇文章主要介绍了Java实现本地缓存的几种方式,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-07-07

最新评论