jmeter使用——接口测试事项及知识点

一、安装和简介

1、安装不多说了,找了一篇安装文档链接:Jmeter安装教程,大家按照教程安装即可。

Jmeter相关文件夹说明:

1、backups文件:调试脚本的备份

2、bin文件夹:

 

A、执行文件,安装成功会又第四个文件,点击此文件可以打开运行jmeter;
B、增加不同参数有不同作用,比如:jmeter-n,代表打开的jmeter是没有界面的,用在性能测试方面,jmeter-server性能测试批处理使用;shutdown关闭功能,
C、jmeter.properties:配置文件,需要调整时,修改此文件的配置

3、docs文件夹下有api、css、images三个文件,其中api文件:官方提供的接口文档说明;

4、extras扩展目录文件:扩展文件放置位置

5、lib文件夹:正在使用及引用的插件、架包,二次开发也是添加在这儿的;

6、licenses文件夹:放置证书的文件夹;

7、printable_docs文件夹:用户文档,教大家怎么使用的文档(英文);

二、操作界面说明

1、实践:新建线程组—取样器/逻辑控制器/前置处理器/后置处理器/断言/定时器/测试片段/配置元件/监听器,再取样器中添加:http请求,下方添加结果树,查结果。

2、在http请求中输入协议(http/https),服务器名称或i,即请求地址;请求方式:get/post等,路径:“/get”或者“/post”

三、接口测试简介

1、测试三层

单元测试、中间接口测试、UI测试(功能测试)

 

接口测试:测试系统组件间接口的一种测试,主要用于测试系统与外包其他系统之间的接口,以及系统内部各个子模块之间的接口。测试的重点时要检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。

2、接口测试步骤

A、接口需求分析、
B、测试计划编写
C、测试用例设计
D、测试脚本开发
E、测试执行;
F、发布测试结果;

3、http/https协议

http协议:时一个简单的请求-响应协议,它通常运行在tcp之上,它指定了客户端可能发送给服务器什么样的消息(request)以及得到什么样的响应(response);

HTTPS (全称:Hypertext Transfer Protocol Secure),是以安全为目标的 HTTP 通道,在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性。HTTPS 在HTTP 的基础下加入SSL层,HTTPS 的安全基础是 SSL,因此加密的详细内容就需要 SSL。 HTTPS 存在不同于 HTTP 的默认端口及一个加密/身份验证层(在 HTTP与TCP之间)。这个系统提供了身份验证与加密通讯方法。

  • http请求

A、请求方法url,如:http://www.baidu.com/wd=api

B、请求方式,常见的有get、post;

get:一般用例获取数据或者信息,传递的参数少,参数都是放在请求地址上,和url之间用?分隔,多个参数之间用&分隔;
post:用户数据的提交,数据在请求正文body中传递,保证了安全。且有返回:responses

C、请求头(Request Headers):用例说明服务器使用的附加信息,重要的有:cookie、Referer、User-Agent等。

  1. Referer(包含一个url,用户从该url代表的页面出发访问当前请求的页面);
  2. User-Agent(浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非常有用)
  3. Conten-Length:表示请求消息的正文长度
  4. cookie:
  5. From:请求发送者的Email地址,由一些特殊的web客户程序使用,浏览器不会用到它。
  6. Host:初始url中的主机和端口;
  7. Accept-Language:浏览器所希望的语言种类,当前服务器能够提供一种以上的语言版本时要用到;
  8. Authorization:授权信息,通常出现在对服务器发送www-Authenticate头的应答中
  9. Content-Type 表示候鸟的文档属于什么MIME类型。Servlet默认为text/plain,但通常需要显示的指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentType。

D、请求体(Request Body)

一般用于post请求中,主要定义向服务器提交的数据类型,而对于get请求Request Body则为空

 

  • 请求的返回,响应:Response,由服务端返回给客户端,分为三部分

A、Response Status Code

 

 

B、Response Headers

C、Response Body

​现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:485187702【暗号:csdn11】

四、json基础

1、json定义:JSON全称:JavaScriptObject Notation, JS对象标记,是一种轻量级的数据交换格式。采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。它相对于xml更小, 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。

2、json数据格式

  • json 键/值对

接送数据的书写格式是:key:value键值对,比如:“namne”:“zsf”

  • json值有:
1、数字:整点或浮点数
2、字符串:在引号中
3、逻辑值:true或false
4、数组:在方括号中
5、对象:在花括号中
6、null
  • json 优缺点
优点
1、数据体积小,轻量级的数据交换;
2、程序员编写更加容易
3、相对xml,json不需要考虑子父节点,更易于机器的解析和生成
4、json支持多种编程语言,列如:java、javaScript、php、python、C、C++等
缺点:
1、语法上过于严谨
2、代码对数据的描述性差
3、代码不易读

2022年12月14日更新

五、实际操作

电商登录接口为列

1、添加一个线程组
2、在线程组下点击鼠标右键—添加—取样器—http请求;
3、在http请求处点击鼠标右键—添加—配置元件—http信息头管理器,添加信息头,输入名称:content-type,值:application/json;

4.在电商登录http请求处,点击,然后在页面配置web服务器处的,协议处输入:http,服务器名称或IP:127.0.0.1(挂在本机的,所以是这个ip),端口:5000,http请求,方式是post,路径从文档中知道:/api/login,下方选择消息体数据(post方式使用),格式是{"password":"123456","username":"admin"}

 

5、需要查看结果,故需要添加结果树:在电商登录http请求处点击鼠标右键—添加—监听器—查看结果树,然后执行就可以查看结果了
6、增加断言,在电商登录http请求处点击鼠标右键—添加—断言—响应断言(常用的),断言中的各种匹配模式定义

 

注意:测试中需要用到的变量设置

设置一些变量来测试不同的场景,jmeter支持以下类型变量

  • 用户自定义变量
设置步骤:选择请求—添加—前置处理器—用户参数,设置变量即可,在请求是引用变量格式为${XXX (XXX表示你需要引用的变量名称)}
可以使用在测试用户登录情况,多个用户情况登录,比如,密码位数不对,密码格式不对,账号位数不对等等。
  • 函数生成变量
jmeter中有许多内置的函数可以生成随机数。创建步骤:点击菜单来的工具—函数助手对话框——下拉选择_Random()函数,在对话框列表输入最小值和最大值后,点击生成,可以复制函数成功,复制后在请求参数中添加,就可以得到每次请求随机生成的数

 

  • BeanShell变量
  • 数据文件变量

以上测试本地没有,所以就找了个app然后抓包,进行各种测试,这个还是花了些时间搞抓包和找包。下面就是使用jmeter测试app的登录及其他接口的实战了:

直接上截图

 

最开始没有成功的,原因是消息体中我没有直接复制抓包中TextView下面的参数,而是加了中括号,导致一直没有对应结果出来,后面直接用这个传参数就好了,真是坑,还是要多实践就能知道问题了。

从截图可以看到,增加了消息头管理器、查看结果树、响应断言。

后续增加了自定义变量,使用多用户一次性测试所有用户登录的情况,这个确实方便,以前没有用过的方式,在用户自定义变量中输入所有用户名和密码情况,然后在线程组的线程数中填写对应数量,就可以一次性执行完成所有情况了,很方便。使用了随机函数的功能,还是比较实用的。

 

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走! 希望能帮助到你!【100%无套路免费领取】

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小怡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值