Jemeter自动化测试

 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是一种松散类型的脚本语言(这点和JS类似);
BeanShell是用Java写成的一个小型的、免费的、嵌入式的Java源代码解释器具有对象脚本语言特性,非常精简;

BeanShell执行标准Java语句和表达式另外包括一些脚本命令和语法。

官网:http://www.BeanShell.org

Jmeter 有哪些Bean Shell?
定时器: BeanShell Timer 
前置处理器:BeanShell PreProcessor
采样器: BeanShell Sampler 
后置处理器:BeanShellPostProcessor
断言: BeanShell 断言 
监听器: BeanShell Listener 


Bean Shell 常用内置变量
JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下:

vars-(JMeterVariables)操作jmeter变量这个变量实际引用了JMeter线程中的局部变量容器本质上是Map它是测试用例与BeanShell交互的桥梁,常用方法:

//定义jmeter变量
vars.put(String key, String value);

//从 jmeter中获取变量
vars.get(String key);

log写入信息到jmeberlog文件,使用方法:

log.info("hello 51zxw!”);

(4)CSV数据文件变量

CSV数据文件变量是指从外部csv文件读取数据出来作为变量。

设置步骤:选择请求--添加--配置元件--CSV数

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

ʚ闫没谱ɞ

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

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

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

打赏作者

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

抵扣说明:

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

余额充值