JMeter之HTTP协议接口性能测试教程

                                                               JMeter之HTTP协议接口性能测试教程

一、不同角色眼中的接口?

       1、开发眼中的接口:模块与模块之间的对接方式定义

       2、测试眼中的接口:可以独立部署成服务的协议接口(http协议接口)

 

二、常见的接口协议

       2.1、http   超文本文件传输协议                                             2.2、https  安全超文本传输协议

       2.3、FTP   文件传输协议                                                       2.4、TCP   网络控制协议

       2.5、IP     互联网协议                                                            2.6、UDP   用户数据协议

三、http协议栈中的位置

       JMeter之HTTP协议接口性能测试教程

 

四、http协议响应码

       4.1、1xx:信息响应类,表示接收到请求并继续处理,通常时间很短

       4.2、2xx:处理成功类响应,表示动作被成功接收、理解和接受

       4.3、3xx:重定向响应类,为了完成指定动作,必须接受近一步处理

       4.4、4xx:客户端错误,客户请求包括语法错误或者是不能正确执行

                         常见的响应码404:我们请求的资源不存在

       4.5、5xx:服务端错误,服务端不能正确执行一个正确的请求

 

五、http协议响应模型(一次请求的生命周期或简单的软件分层)

JMeter之HTTP协议接口性能测试教程

 

                     场景:程序登录页面

5.1、客户端发起请求到api层

       5.1.1、用户在客户端填写用户名和密码,点击登录,发送请求

 

5.2、api接收到客户端发起的用户请求

       5.2.1、api对业务逻辑进行验证

              5.2.1.1、验证用户名密码是否合法

                        比如:用户名要求必须为真实的手机号(11位,1开头)

                        如果验证失败,即用户名不合法,那么需要给客户端返回响应码

                        比如码值为:1,2,3

                        1:用户名格式错误

                        2:用户名或密码错误

                        3:密码格式错误

5.3、如果验证成功,api会将用户输入的数据发给DB层

        DB层会做Create(增)、Read(读、查)、Update(改)、Delete(删)的操作

        Select * from User where UserName = ‘’ and PassWord = ‘’;

       5.3.1、数据库查询成功则返回1,查询失败则返回0

        

5.4、DB会将返回的查询数据库的条目数给api

5.5、api返回成功或失败的状态码给客户端

5.6、客户端将返回信息提示给用户

扩展:

              一、客户端   【 功能测试、性能测试、自动化测试】

              二、接口层   【接口测试、功能测试、性能测试、自动化测试】 

              三、数据库层   【可以将开发人员使用到的SQL单独拿出来进行性能测试】

                 

六、常用http请求的协议方式

       6.1、get请求

       6.2、post请求

       6.3、get请求与post请求最简单的区别?

              Get: http://127.0.0.1:8080?username=zhangsan&password=123

              Post: http://127.0.0.1:8080

              JMeter之HTTP协议接口性能测试教程

 

七、JMeter的功能介绍(万能的JMeter)

       7.1、BS架构应用性能

       7.2、HTTP协议接口功能与性能

       7.3、FTP协议的功能和性能

       7.4、MySql数据库性能

       7.5、MongoDB数据库性能(非关系型)

       7.6、支持自定义Java组件开发

 

8、JMeter的get请求与post请求

       8.1、JMeter功能介绍

                     1、下载并解压

               JMeter之HTTP协议接口性能测试教程

                      JMeter之HTTP协议接口性能测试教程

              JMeter之HTTP协议接口性能测试教程

JMeter之HTTP协议接口性能测试教程JMeter之HTTP协议接口性能测试教程

2、环境变量

JMeter之HTTP协议接口性能测试教程

JMETER_HOME     =    D:\apache-jmeter-5.2.1\apache-jmeter-5.2.1

 

 

 

JMeter之HTTP协议接口性能测试教程

在CLASSPATH后面加上;%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib/logkit-2.0.jar;

 

 

3、运行JMeter

JMeter之HTTP协议接口性能测试教程

 

 

4、弹出这个界面

JMeter之HTTP协议接口性能测试教程

 

 

5、修改成中文界面

JMeter之HTTP协议接口性能测试教程

 

6、添加http请求

JMeter之HTTP协议接口性能测试教程

 

 

7、为天气预报api进行接口测试

JMeter之HTTP协议接口性能测试教程

 

8、添加查看结果树

JMeter之HTTP协议接口性能测试教程

 

 

9、查看结果树

JMeter之HTTP协议接口性能测试教程

 

10、处理结果树乱码的情况

JMeter之HTTP协议接口性能测试教程

JMeter之HTTP协议接口性能测试教程

输入   prev.setDataEncoding("utf-8")

 

11、添加聚合报告并查看聚合报告

JMeter之HTTP协议接口性能测试教程

JMeter之HTTP协议接口性能测试教程

 

 

             

              8.2、get接口请求参数化—函数助手

                     JMeter之HTTP协议接口性能测试教程

              JMeter之HTTP协议接口性能测试教程

 

              新建一个文档,随便放个目录下

              JMeter之HTTP协议接口性能测试教程

 

JMeter之HTTP协议接口性能测试教程

 

 

JMeter之HTTP协议接口性能测试教程

JMeter之HTTP协议接口性能测试教程