关于https协议接口测试的信息

网友投稿 512 2023-02-23


本篇文章给大家谈谈https协议接口测试,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。 今天给各位分享https协议接口测试的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

接口测试二(http,https数据包分析)

本节将介绍上一节提到的三种协议数据包分析。
上节提到一次与服务器交互的过程会有请求和返回,而每一种协议的请求和返回的数据格式都会包含“头部(head)”,“身体(body)”。

http协议是我们最常见的协议,http请求与http返回的区别就是http请求会有一个请求地址,而http返回没有请求地址,但会有一个返回码。

JMeter测试HTTPS请求

HTTP和HTTPS测试时稍有不同,HTTPS需要加载证书,端口也不一样,操作如下:
2)使用JMeter自带的证书 ApacheJMeterTemporaryRootCA.crt(在bin目录下)
4)重启jmeter,如果是自己填写请求,https的端口一般是443,不再是http的80端口(当然也不一定是443,这个是可以配置的)如果测试中报错,就注意下证书有没有导入,请求的协议是不是填写https,端口号是不是填了443

HTTPS录制安装jmeter根证书到浏览器
1)关于HTTPS证书HTTP协议采用明文传输数据,如果是敏感数据,就不安全了,HTTPS(安全套接字层超文本传输协议)采用密文传输数据,在通讯中需要获得服务器的证书(公钥)

HTTPS连接使用证书来验证浏览器和Web服务器之间的连接。当通过HTTPS连接时,服务器将证书发送给浏览器。为了验证证书,浏览器检查服务器证书是否由其内置的根CA(Certificate.,CA)之一的证书颁发机构签名。还要检查证书是否为正确的主机或域,并且它有效且未过期。如果检查失败,它将提示用户,然后用户可以决定是否允许连接继续进行。

Jmeter要用自己的证书来拦截浏览器中的HTTPS连接。默认情况下,Jmeter的CA证书不会被浏览器信任,但是我们可以它可以作为可信证书安装到浏览器。一旦完成,生成的服务器证书将被浏览器接受。这样做的优点是,即使嵌入的HTTPS资源也可以被拦截,并且不需要重写每个新服务器的浏览器检查。

如上所述,当在Java 8下运行时,jmeter可以为每个服务器生成证书。为了顺利运行,jmeter所使用的根CA签名证书需要被浏览器信任。第一次启动HTTP代理服务器时,如果需要的话,它将生成证书。根CA证书被导出到当前启动目录中的名称为ApacheJMeterTemporaryRootCA.crt的文件中。当证书被设置时,jmeter将显示与当前证书详细信息的对话框。在这一点上,证书可以导入到浏览器中,按照下面的说明。

请注意,一旦根CA证书已安装为可信CA,浏览器将信任由其签名的任何证书。直到证书到期或证书从浏览器中删除的时候。因此,任何可以获取密钥存储和密码的人都可以使用证书生成证书,这些证书将被信任JMeTealCroot CA证书的任何浏览器所接受。由于这个原因,密钥存储和私钥的密码被随机生成,并且使用了一个短的有效期。密码存储在本地首选项区域中。请确保只有可信用户可以使用密钥存储库访问主机。

录制HTTPS需要导入jmeter的证书,那么如何导入证书呢?为HTTPS录制安装jmeter根证书到浏览器浏览器需要向服务器索要证书,以验证服务器不是假冒服务器。用jmeter代理时,用的jmeter的证书,而浏览器并不认可该证书,所以要将jmeter的证书导入浏览器。
回复关键词【jmeter】获取视频教程
JMeter历史文章查看点击干货分享--接口自动化
对此文有疑问?赶紧在留言区留言吧
看完本文有收获?请转发分享给更多人

沉淀!熬夜整理100个接口测试的知识点!!专业扫盲!

接口测试最近几年被炒的火热https协议接口测试了,越来越多的测试同行意识到接口测试的重要性。接口测试为什么会如此重要呢https协议接口测试? 主要是平常的功能点点点,大家水平都一样,是个人都能点,面试时候如果问你平常在公司怎么测试的,你除了说点点点,还能说什么呢,无非就是这个项目点完了点那个项目, 这就是为什么各行各业的只要手指能点得动的人都来转行软件测试了。面试的时候面试官希望你除了点点点,还能更深入一点的思考页面上看不到的功能,也就是接口测试了。接口是看不见的,但是可以访问https协议接口测试

DNS是域名系统(Domain Name System) ,DNS是用来做域名解析的,它会在你上网输入网址后,把它转换成IP,然后去访问对方服务器;没有它,你想上百度就要记住百度的IP,但有了DNS的处理,你只需要记住对应网站的域名,即网址就可以了。

HTTP协议:超文本传输协议,是基于TCP的协议,默认为80端口。它的作用是用来规定客户端和服务器的数据传输格式。是一种用于请求与响应模式的、无状态、无连接 的应用层协议。 由于HTTP协议是一种请求-响应模式,所以一般需要关注HTTP请求和HTTP响应。

使用fiddler工具抓取HTTPS, 体操作请查看文末领取教程

1xx -- 信息提示(表示临时的响应。客户端在收到常规响应之前,准备接收一个或多个1xx响应)

2xx -- 成功(表明服务器成功地接受了客户端请求)

3xx -- 重定向(客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求)

4xx -- 客户端错误(发送错误,客户端有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份证验证信息)

5xx -- 服务器错误(服务器由于遇到错误而不能完成该请求)

常见的返回码有:

200 OK - [GET]:服务器成功返回用户请求的数据

201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功

202 Aceepted - [*]:表示一个请求已经进入后台排队(异步任务)

204 NO CONTENT - [DELETE]:用户删除数据成功

400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作

401 Unauthorized -[*] :表示用户没有权限(令牌、用户名、密码错误)

403 Forbidden -[*] :表示用户得到授权(与401错误相对),但是访问被禁止

404 NOT FOUND -[*]:用户发出的请求针对得到是不存在的记录,服务器没有进行操作,该操作是幂等的

406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式)。

410 Gone -[GET]:用户请求的资源被永久删除,且不会再得到的。

422 Unprocesable entity - [POST/PUT/PATCH] 当创建一个对象时,发生一个验证错误。

500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功。

HTTP协议常用的请求方式有如下几种:

HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,为了保证这些隐私数据能加密传输,于是网景公司设计了SSL(Secure Sockets Layer)协议用于对HTTP协议传输的数据进行加密,从而就诞生了HTTPS。简单来说,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

1、https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。

2、http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。

3、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。

4、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。

POST和GET都是向服务器提交数据,并且都会从服务器获取数据。

区别:

(1)传送方式:get通过地址栏传输,post通过报文传输

(2)传送长度:get参数有长度限制(受限于url长度),而post无限制

(3)GET产生一个TCP数据包(对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据),POST产生两个TCP数据包(对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok返回数据)

(4)get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留

(5)在做数据查询时,建议用GET方式;而在做数据添加、修改或删除时,建议用post方式

请求报文: 一个HTTP请求报文由请求行(Request Line)、请求头(Header)、空行(Blank Line)和请求体(Body)4个部分组成。

响应报文: HTTP响应报文和请求报文的结构差不多,由状态行、响应头、空行、响应体4个部分组成。

是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。

解决方案:通过cookie和session来保持状态。

请求body;请求url+请求body:

Content-type:

application/x-www-form-urlencoded: 表单提交--键值对, form

multipart/form-data:文件上传---文件 ,MIME

application/json,text/xml

http协议目前有4个版本(0.9,1.0,1.1,2.0),其中1.0、1.1版本在互联网上被广泛使用,2.0版本目前应用很少,是下一代的http协议。

1.存储位置不同:Cookie 是将用户数据通过加密的方式保存在客户端,大多数情况 Cookie 存储在浏览器;Session 是用于控制客户端和服务端的连接,Session 存储在服务器;

2.存储容量不同:单个 Cookie 保存的数据不得超过 4kb,一个站点最多 20 个 Cookie,Session 一般情况下没有上限,不过建议不要存放太多东西,否则影响性能;

3.存取方式不同:Cookie 只能用 ASCII 字符串,通过编码方式获取 Unicode 字符或者二进制数据,不好存储复杂的信息,而 Session 能存储任何类型的数据;

4.隐私策略/安全性不同:Cookie 放在客户端,可以进行 Cookie 欺骗,所以不安全,Session 放在服务端,更加安全;

5.有效期不同:Cookie 可以设置属性达到长期有效,Session 依赖于 JSESSIONID 的 Cookie,Cookie JSESSIONID 的过期时间默认为-1,只需要关闭窗口 Session 就会失效,就算不依赖 Cookie,用 UrL 重写也不能完成,如果 Session 超时时间过长,容易导致内存溢出;

6.服务器压力不同:Cookie 保存在本地,不存在服务端压力,Session 保存在服务端,每个用户产生一个 Session,当访问增多,会比较占用服务器的性能,如果主要考虑到减轻服务器性能方面,应当使用 Cookie;

7.浏览器支持不同:如果浏览器禁用 Cookie,那么 Cookie 直接失效,Session 比较好点,可以用 URL 重写;

8.Cookie 和 Session 应用的场景:Cookie 一般用于记住用户的登录状态,如记录用户的习惯,购物车;而 Session 用于登录验证。

https在应用层。

会话层为7层协议的第五层,为表示层提供建立、维护和结束会话连接的功能,并提供会话管理服务。

在浏览器中输入URL并回车后,主要发生以下步骤:

解析URL,获取要访问的域名

DNS域名解析,根据访问的域名获得目标服务器的IP地址

浏览器与服务端三次握手建立TCP连接

连接建立成功之后就可以发送HTTP请求报文以及服务器返回HTTP响应报文

断开TCP链接

浏览器解析响应报文,渲染页面

接口测试工具Postman入门

供外部(界面客户端或第三方系统)访问的后台程序,该后台程序能够对外部发送过来的请求进行处理,并返回处理的结果。

接口文档(接口的功能说明书)

Postman:适用RESTful接口(HTTP/HTTPS协议)的功能测试
Soup UI:适用WebService接口(SOAP协议)的测试
Jmeter:适用RESTful接口的性能测试
HttpClient + fastjson + TestNG:适用RESTful接口功能自动化

比如:

https://www.getpostman.com/docs/v6/postman/sending_api_requests/requests

https://www.cnblogs.com/klb561/p/10090540.html

1、生成时间戳
https://tool.lu/timestamp

微信扫一扫关注该公众号【测试开发者部落】

点击链接加入群聊【软件测试学习交流群】
https://jq.qq.com/?_wv=1027k=5eVEhfN
软件测试学习交流QQ群号: 511619105

接口测试相关

先介绍业务:支付接口,比如购物时结算需要调用支付接口

有哪些参数,以及主要的参数的意义

设计了多少用例,设计用例的思路

工具怎么使用的

关联、断言等

1、GET使用URL或Cookie传参。而POST将数据放在BODY中。

2、GET的URL会有长度上的限制,则POST的数据则可以非常大。

3、POST比GET安全,因为数据在地址栏上不可见。

4、一般get请求用来获取数据,post请求用来发送数据。

http和https区别:HTTP协议传输的数据都是未加密的,也就是明文的,因此使用HTTP协议传输隐私信息非常不安全,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,要比http协议安全。

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能考虑到减轻服务器性能方面,应当使用cookie。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

抓包

抓包是为了更方便的定位问题是前端引起的还是后端引起的,我给你举个例子,拿登录功能不能成功登录来说,先抓到登录的接口,之后用postman进行模拟发送请求到后台,如果返回登录成功那很有可能是前端问题,如果返回登录不成功拿就是后端问题。

接口测试面试题,等你来看

1.你们公司的接口测试流程是?
接口测试我们是在xx项目做的,主要有xx接口,xx接口等
1.首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、接口方式、入参、出参、token鉴权,返回格式等信息。
2.然后使用postman或jmeter工具执行接口测试,一般使用Jmeter的步骤是这样的:
3.最后调试并执行用力,最后编写接口测试报告。
4.其实我们做接口的时候也碰到过很多的问题,都是自己独立解决的,比如返回值乱码(修改jmeter的配置文件为UTF-8编码方式),比如需要登陆后才能取得token鉴权编码并且这个鉴权码在下面的请求中需要用到(使用正则表达式提取器提取token的值等等。
2.简述cookie、session及token的区别
1.cookie数据存放在客户的浏览器上,session数据放在服务器上。而token是接口数据的鉴权码,一般情况下登录后才可以获取到token,然后在每次请求接口时需要带上token参数。
2.cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应到使用seesion,seesion会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie。
3.可以将登录信息等重要信息存放为session;其他信息需要保存,可以放在coolie。
3.对于加密接口,如何进行测试?
在调用接口的时候,要搞清楚接口的加密方式是什么。
如果是对称加密,要先从开发哪里获取对称密钥,基于对称密钥可以加密请求数据,以及解密响应报文。
如果是非对称加密,先从开发获取服务器公钥和私钥,也要知道当前用户的公钥和私钥信息。以便完成接口的数据加密和解密。
4.接口测试执行中比对数据库吗?
肯定,因为接口返回值的数据来源于数据库,接口对数据的操作还要进行深层次的数据库检查!
5.如何分析一个bug是前端还是后端
这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没有问题,有问题就是前端发的数据不对;
请求报文没问题,那就看返回报文,返回的数据不对那就是后端开发的问题。
6.谈谈你对HTTP协议的了解?
超文本传输协议,端口为80,特点(无记忆功能、快速)是由请求和响应两部分组成请求由请求头、请求行、请求正文组成;响应是由响应头、响应行、响应正文组成,之前我们公司的接口是采用https协议的。
httpshttp+ssl协议端口443面向安全的超文本传输协议。
7.get和post请求有什么区别?
get和post请求都是客户端向服务器提交的一种请求方式;
get是明文传输参数、倾向于请求服务器资源。比如打开网站;
post传输数据不可见,安全性高,倾向于向服务器提交数据,比如注册等。
8.依赖于第三方数据的接口如何进行测试
可以使用SoapUI等工具直接调用第三方数据接口的webservice,通过返回值来查看第三方数据的接口是否调用正常。
也可以利用一些工具来模拟第三方的数据返回,最大限度地降低对第三方数据接口的依赖。
9.接口测试中要注意的测试点有哪些?
接口中返回了图片地址,要手工去进行图片的测试(大小、内容);
接口完成查询功能的时候,数据返回的排序显示;
10.接口执行测试返回结果比对哪部分?
之前必须要对比的就是返回状态码,其次再去对比返回其它关键内容。
11.做接口测试工作的意义是什么?
这个是开发性题目,面试官主要考察对测试的理解。
根据测试的金字塔模型来说接口测试是测试左移的最方便,最简单的测试,当然最厉害的测试是做白盒测试,这个是在接口测试之前,相对于单元测试。
12.用过抓包工具吗?如何使用?
之前在项目中用过fiddler抓包工具进行HTTP协议请求的抓取。
打开fiddler之后,默认浏览器配置了127.0.0.18888端口的代理,在fiddler设置好过滤策略后,打开需要进行抓包的网站进行操作,就可以进行抓包。
13.接口测试中需要哪些注意点?
14.postman中设置环境变量有什么用?
在之前项目中,接口测试测试的环境有开发环境,测试环境等,为了测试的时候方便,就在postman设置环境变量,到时所有接口都引用该环境变量,这样就不用为了切换环境导致每次都去修改被测系统接口的主机地址;点击右上角环境变量管理按钮-新建环境变量,在脚本中使用{undefined{变量名}}去调用。
15.关联是什么?如何postman设置关联?
关联就是把上一个接口返回值的部分截取出来,作为下一个接口的参数,能让接口串联运行。
在postman中设置关联的步骤如下:
先通过正则表达式提取的方式或json取值的方式把下一个接口需要的信息从上一个接口截取出来;
使用设置全局变量的代码把取出来的值保存到全局变量;
在下一个接口中,使用{undefined{全局变量}}代替要替换的静态值。 关于https协议接口测试和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。 https协议接口测试的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于、https协议接口测试的信息别忘了在本站进行查找喔。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于http调用接口测试的信息
下一篇:包含https接口测试的词条
相关文章

 发表评论

暂时没有评论,来抢沙发吧~