Jemeter自动化测试

本文详细介绍了接口测试的概念、流程,以及如何使用JMeter进行接口自动化测试。讲解了HTTP请求的组成部分,包括URL、请求方法、请求头、请求体,并展示了JMeter的测试计划配置、接口测试步骤,如添加线程组、HTTP请求、断言、监听器等。还涉及到变量的使用,如用户自定义变量、函数生成变量、BeanShell变量、CSV数据文件变量,以及Cookie管理和授权设置。最后讨论了JMeter的测试报告生成及自动化测试平台的搭建。
摘要由CSDN通过智能技术生成

 1.什么是接口测试?

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

2.如何做接口测试?

一个规范的接口测试流程包括以下基本步骤:

接口需求分析、测试计划编写、测试用例设计、测试脚本开发、测试执行、发布测试结果。

3.HTTP请求的组成部分:
1⃣️.请求URL
2⃣️.请求方法
常见的请求方法有:GET POST
GET:用于获取信息时的接口请求方法,例如:
https://wwwbaiducom/s?wd=api&time=239248920139参数会在url中进行传递,和url之间会用?分隔,多个参数之间会用&分隔。
POST:用户数据的提交,POST方法的数据会存在请求体里传递,保证了安全。例如登录接口的时候,会通过POST方法将账号和密码信息存在请求体传递给登录的接口。

3⃣️.请求头(Request Headers)
请求头,用来说明服务器要使用的附加信息,比较重要的信息有Cookie、Referer、User-Agent等,部分常见的请求体字段如下:
Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面。

User-Agent:浏览器类型,如果Servlet返回的内容与浏览器类型有关则该值非
常有用。

Content-Length:表示请求消息正文的长度。

Cookie:这是最重要的请求头信息之一

From:请求发送者的email地址,由一些特殊的Web客户程序使用,浏览器不

会用到它。

Host:初始URL中的主机和端口。

Accept-Language:浏览器所希望的语言种类,当服务器能够提供一种以上的语
言版本时要用到。

Authorization:授权信息,通常出现在对服务器发送的www-Authenticate头
的应答中。

Content-Type表示后面的文档属于什么MIME类型Servlet默认为text/plain,但通常需要显式地指定为text/html。由于经常要设置Content-Type,因此HttpServletResponse提供了一个专用的方法setContentType

4⃣️请求体(Request Body) 即请求体,一般用于POST请求中,主要定义向服务器提交的数据类型,而对于GET请 求Request Body则为空。 
Content- TypeI 提交数据方式 
application/x-www-form-urlencoded Form表单提交 
multipart/form-data 表单文件上传提交
application/json 序列伤Json 数据提交 
text/xml XML数据提交

5⃣️Response
Response,即响应,由服务端返回给客户端。Response可以划分为三部分:
·Response Status Code
·Response Headers

·Response Body

4.Jemeter添加接口测试

    工具栏-选项-选择语言-中文

 1⃣️测试计划-右键-添加-线程-线程组

      线程组-右键-添加-取样器-HTTP请求

      HTTP请求-右键-添加-监听器-查看结果树

2⃣️线程组-右键-添加-配置元件-HTTP请求默认值(用来添加一个测试计划里所有请求的url)

3⃣️HTTP请求-右键-添加-断言-响应断言

各个匹配模式含义如下:
包括:响应内容包括需要匹配的内容即代表响应成功,支持正则表达式
匹配:响应内容要完全匹配需要四配的内容即代表响应成功,不区分大小写,支持正则表达式
相等:响应内容要完全等于需要匹配的内容才代表成功,区分大小写,需要匹配的内容是字符串正则表达式

字符串:返回结果包含指定结果的字串,但是subString不支持正则字符串
否:不进行匹配

4⃣️变量

在请求过程中,有时我们需要在请求中设置一些变量来测试不同的场景
Jmeter 支持以下类型变量:用户自定义变量、函数生成变量、BeanShell变量、数据文件变量

(1)用户自定义变量
设置步骤:选中http请求--添加--前置处理器--用户参数设置变量名称为username,值为admin,变量名称为password,值为111111(可添加多组用户名和密码,模拟用户输入正确和错误的情况,比如设置了4组,则点击线程组设置线程数为4)
在请求时引用变量如下所示变量引用格式为:${user}

(2)函数生成变量
Jmeter有许多内置的函数,可以生成随机数。创建步骤点击菜单栏选项--函数助手对话框--下拉选择Random()函数函数配置最大值最小值,点击拷贝并粘贴函数字符串

(3)Bean Shell变量

HTTP请求-右键-添加-前置处理器-BeanShell预处理程序(处理后的程序输出值做参数可以用BeanShell)
BeanShell是一种完全符合Java语法规范的脚本语言并且又拥有自己的一些语法和方法
BeanShell是一种松散

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ʚ闫没谱ɞ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值