博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RestAssured接口自动化从入门到框架搭建-17-处理SSL和TLS协议
阅读量:4302 次
发布时间:2019-05-27

本文共 1438 字,大约阅读时间需要 4 分钟。

这篇简单记录下如何处理SSL和TLS异常,在接口测试中,SSL异常我们之前见过,早起网站都是http打头,然后15年还是16年什么时候,全部要求每个生产环境的网站都使用HTTPS协议,这个S就是安全的意思。关于HTTPS协议,不得不带出SSL和TLS协议。

 

1.网络知识

关于SSL和TLS的历史,英文好的可以看这里

中文看这里

SSL(Secure Sockets Layer ),及其继任者(Transport Layer Security,TLS)是为提供安全及的一种安全协议。TLS与SSL在对网络连接进行加密。

SSL是网景公司最早提出来,然后后面被TLS加密方式给取代,现在都是流行采用TLS加密。

 

 

2.使用场景

我们知道如果一个网站HTTPS开头进行访问,这个网站对应背后公司是需要去购买HTTPS证书,给网站配置正确的证书,用户才能用https打头去访问,证书一般是有有效期的,例如一年,两年,公司是需要续费。

问题就来了,公司可以保证生产环境的HTTPS证书有效,但是测试环境一般是不配置证书。由于不配置证书,可能接口访问会报相关HTTPS证书的异常。例如SSLPeerUnverifiedException 这个异常。

这时候,我们又不能不在测试环境进行接口测试,下面来看Rest Assured提供相关方法去避免这种异常。

 

3.相关代码

package demo;import org.testng.annotations.BeforeClass;import org.testng.annotations.Test;import io.restassured.RestAssured;import static io.restassured.RestAssured.*;public class HandTLS_SSL {		@BeforeClass	public void setup() {		RestAssured.useRelaxedHTTPSValidation();	}		@Test	public void testInvalidSSLException() {		// 如果这样访问无效证书的https开头的网站,会报SSLPeerUnverifiedException异常		given().get("证书无效或者证书过期的测试环境").then().statusCode(200).log().all();	}		/**	 * 处理无效SSL证书过期 不对的异常	 */	@Test	public void testRelaxedHTTPValide() {		// 使用useRelaxedHTTPSValidation 就可以忽略这种证书无效的异常, 默认是SSL协议		given().relaxedHTTPSValidation().when().get("证书无效或者证书过期的测试环境").then().statusCode(200).log().all();	}		/**	 * 处理TLS 异常	 */	public void testTLSExceptin() {		given().relaxedHTTPSValidation("TLS").when().get("证书无效或者证书过期的测试环境").then().statusCode(200).log().all();	}}

本篇内容属于了解就行,不是重点。

转载地址:http://jnows.baihongyu.com/

你可能感兴趣的文章
java等待-通知机制 synchronized和waity()的使用实践
查看>>
win10 Docke安装mysql8.0
查看>>
docker 启动已经停止的容器
查看>>
order by 排序原理及性能优化
查看>>
Lock重入锁
查看>>
docker安装 rabbitMq
查看>>
git 常用命令 入门
查看>>
linux安装docker
查看>>
关闭selinx nginx无法使用代理
查看>>
shell 脚本部署项目
查看>>
spring cloud zuul网关上传大文件
查看>>
springboot+mybatis日志显示SQL
查看>>
工作流中文乱码问题解决
查看>>
maven打包本地依赖包
查看>>
spring boot jpa 实现拦截器
查看>>
jenkins + maven+ gitlab 自动化部署
查看>>
Pull Request流程
查看>>
Lambda 表达式
查看>>
函数式数据处理(一)--流
查看>>
java 流使用
查看>>