Jmeter断言、参数化及集合点

JMeter---QPS(Query Per Second)

QPS为每秒查询率。是一台查询服务器每秒能够处理的查询次数,在因特网上,作为域名系统服务器的性能经常用每秒查询率来衡量。
步骤:
1、添加线程组(之前学过啦)注:参数 ramp-up period 用于告知JMeter 要在多长时间内建立全部的线程。默认值是0。假如未指定,也就是说ramp-up period 为零, JMeter 将立即建立所有线程,假设ramp-up period 设置成T 秒, 全部线程数设置成N个, JMeter 将每隔T/N秒建立一个线程。(JMeter中时间单位为毫秒)
2、添加取样器(请求)
3、添加定时器-》Constant Throughput Timer(吞吐量定时器),设置QPS,控制给定的取样器发送的请求吞吐量

target Throughput(in samples per minute):目标吞吐量。注意这里要求是每分钟发送的请求数,实际填的数值是60*QPS。
Calculate Throughput based on:

  • This thread only:控制每个线程的吞吐量,选择这种模式时总的吞吐量为设置的target Throughput乘以该线程的数量。
  • All active threads:设置的target Throughput将分配在每个活跃线程上,每个活跃线程在上一次运行结束后等待合理的时间后再次运行,活跃线程指同一时刻同时运行的线程。
  • All active threads(shared):与All active threads的选项基本相同,唯一的区别是每个活跃线程都会在所有活跃线程上一次运行结束后等待合理时间后再次运行。
  • All active threads in current thread group:设置的target Throughput会分配在当前线程组的每一个活跃线程上,当测试计划中只有一个线程组时,该选项和ALL active threads选项的效果完全相同。
  • All active threads in current thread group(shared):与All active threads in current thread group基本一致,区别是,每一个活跃线程都会在所有活跃线程的上一次运行结束后等待合理的时间后运行。

此次操作中选择This thread only。
4、添加监听器-》察看结果树+聚合报告(关心请求响应时间)
5、运行脚本
6、分析聚合报告
聚合报告项:

  • label:每个JMeter的element(例如:HTTP Request)都有一个Name属性,这里显示的就是Name属性的值
  • #samples:表示这次测试中一共发出了多少请求。
  • Average:平均响应时间--默认情况下是单个请求的平均响应时间,当使用了transaction controller时,也可以以transaction为单位显示平均响应时间。
  • Median:中位数,也就是50%用户的响应时间。
  • 90%Line:90%用户的响应时间。
  • Min:最小的响应时间。
  • Max:最大的响应时间。
  • Error%:本次测试中出现错误的请求数/总请求数。
  • Throughput :吞吐量--默认下表示每S完成的请求数
  • KB/sec:每S从服务器端接收到的数据量

JMeter断言

1、响应断言(最常用)
2、Size Assertion:断言返回字节大小。设定返回字节大小,若返回字节大小不符,则断言失败,反之成功。
3、Duration Assertion(持续时间断言)
如果响应时间超过设定的时间,则断言失败,反之成功。
添加监听器-》断言结果来查看断言是否成功
 
响应断言的相关使用(打开百度首页):
断言成功---断言返回数据中是否包含“百度一下”

查看断言结果--断言成功

断言失败---断言返回数据中是否包含“博客园”

响应断言失败

JMeter参数化

将参数同请求一起发送,参数值为引用值
三种参数化方法
1、用户参数
步骤:1)前置处理器-》用户参数-》添加变量-》名称:user,值:ww
          2)在HTTP请求中的Parameters-》添加-》名称:name,值:${user}(同请求一起发送参数name ,参数值为引用用户参数中的变量“user”)

在此可忽略请求失败,观察发送的请求的内容,参数name以被带上,且值为用户参数中变量user的值,表明参数生效。

2、CSV数据配置---从文件中读取参数内容

文件名:文件所在的路径(csv\txt)
文件编码:一般为空
变量名称(西文逗号间隔):文件中所表示的参数项,各参数之间用逗号隔开,参数项的名称应该与HTTP请求中的参数项一致。

其他的顾名思义。。。额

先新建一个text(E:\test.txt)--建立三组数据,第一列为变量user的值,第二列为变量passwd的值。

步骤:
配置元件-》CSV数据设置

设置HTTP请求参数


3、随机参数化--利用函数助手对话框生成函数,粘贴到HTTP请求Parameters里。

点击工具栏中问号左边的图标(函数助手对话框)-》“选择一个功能”选择_Random填入生成随机数的范围(1-5)-》点击“生成”-》拷贝函数字符串到HTTP请求Parameters中变量name的值处

同请求一起发送的参数值为1-5的随机数,有函数字符串生成。


察看结果树中的请求,参数值为4。

JMeter集合化

设定几(多)个用户一起进行操作,如秒杀设定集合点为了实现绝对的并发,测试服务器的承载能力。当所有的线程都达到集合点的时候,才开始发送请求。

实现步骤:定时器-》Synchronizing Timer(同步定时器)
注:集合点一定要放在需要集合点的元件前
设置集合点:Synchronizing Timer的Number of Simulate Userd to Group by:2---即设置2个并发用户。有2 个用户才发送请求。
Timout in millseconds:集合好之后隔多少毫秒进行执行HTTP请求。
1、设置4个线程数时,发送4个请求,每2 个请求发送。

2、设置3个线程数,发送2个请求。剩下一个线程不能集合,故没有发送请求。

原文地址:https://www.cnblogs.com/WFM1997/p/8903934.html

时间: 2024-09-27 11:59:58

Jmeter断言、参数化及集合点的相关文章

性能测试-JMeter断言之JSON断言

前面一节我们学习了JMeter断言之响应断言,今天我们来学习JMeter另一种断言方法:JSON断言. JSON用于描述文本数据结构,有如下形式:1.对象(object)对象是一组无序的名称/值对.对象以{(左大括号)开始,以}(右大括号)结束.每个名称后面跟着:冒号,名称/值对之间用逗号分隔.比如:{"name":"zhangsan","sex":1,"age":25}2.数组(Array)数组是值的有序集合.数组以[(左中

JMeter(四)--参数化

JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问. 一.准备脚本,测试数据 1.录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面.如下: 2.我们需要“参数化”的数据,用记事本写了五个用户名和密码,保存为.

Jmeter性能测试-----参数化方法CSVRead函数

Jmeter里面参数化的方法有很多,大家可以结合自己的项目情况来使用哪种方式来调用测试 数据. 下面我给大家介绍下Jmeter里CSVRead函数来获取参数的方法: 我这里已去到直播间发表评论为例(这里怎么建测试用例就不讲了,另一篇有讲), 设置好server和Path.Method.Content encoding等,并把要Post的数据写到Body Data 栏目里: 我们这里要对chat做参数,先把要参数化的内容准备好: 选择Options---Function helpDialog,选择

JMeter学习-参数化

JMeter也有像LR中的参数化,本篇就来介绍下JMeter的参数化如何去实现. 参数化:录制脚本中有登录操作,需要输入用户名和密码,假如系统不允许相同的用户名和密码同时登录,或者想更好的模拟多个用户来登录系统. 这个时候就需要对用户名和密码进行参数化,使每个虚拟用户都使用不同的用户名和密码进行访问. 一.准备脚本,测试数据 1.录制一个脚本(可以用badboy工具录制),在jmeter中打开,找到有用户名和密码的页面.如下: 2.我们需要“参数化”的数据,用记事本写了五个用户名和密码,保存为.

jmeter断言(检查点)

一.前言 断言是在请求的返回层面增加一层判断机制.因为请求成功了,并不代表结果一定正确,因此需要判断机制提高测试准确性.下面介绍常用的jmeter三种断言. 二.jmeter断言常用的三种方式 1.响应断言(Response Assertion) 模式匹配规则(Pattern Matching Rules) ◆包括 :返回结果包括你指定的内容 ◆匹配: 根据指定内容进行匹配 ◆Equals :返回结果与你指定结果一致 ◆Substring :返回结果是指定结果的字串 ◆否: 不进行匹配 添加断言

Jmeter断言,关联,参数化

1 Jmeter如何设置断言的?在录制好的脚本里面选择需要添加断言的http请求点击鼠标右键添加断言-响应断言,再添加要测试的内容.再添加断言结果,可查看断言是否成功.LR中:  web_find()和web_reg_find()  二个函数类型不同,web_find()只是一个普通函数,而web_reg_find()是一个注册函数  web_find()必须开启内容检查项.而web_reg_find()没有此要求 web_find()只能基于HTML模式录制的脚本中,而web_reg_find

Jmeter CSV 参数化/检查点/断言

当参数的值没有规律且量不太大时,可以使用CSV Data set config这种方法. 案例: 应用Sogou自动搜索关键字: 软件开发测试,web功能自动化测试,性能自动化测试,Selenium以及Jmeter 要求:使用Jmeter 的CSV Data set config来完成 具体步骤: 1. 创建一个csv文件,内容为参数的值集,每一个参数占一列,第一行就开始写参数值,不要写参数名. 比如在D:\test.txt 中添加以下内容  2. 打开Jmeter,并打开先前使用Badboy录

Jmeter (三) 集合点 、检查点 (断言)

不同的 测试工具有不同的命名 断言 :即检查点,在请求中 加入测试人员的判断,返回 结果 TRUE  or FALSE ,得到 测试人员的判断是否正确 集合点 1.打开  synchronizing timer (同步定时器) 添加-->定时器-->synchronizing timer 2.注意组件的顺序 synchronizing timer 应该防止在 请求之前 (请求发送之前加载出断言) ** 目前,我还没有发现这个工具的 便利之处!! 检查点(断言) 1.变量断言 1.打开  变量断

Fiddler+Jmeter+断言详细教程

一.Fiddler抓包工具的配置和使用 在编写网关自动化脚本之前,得先学会如何抓包,这里以Fiddler为例.会抓包的同学可以跳过这一步,当然看看也是没坏处的…… 局域网络配置 将要进行抓包的手机与电脑连入同一局域网,电脑才能够抓到手机APP的请求,这里介绍一种我们在使用的网络配置方法. 首先使用电脑A布置一个我们抓包需要的局域网.下载猎豹WiFi(网上有很多这种工具360免费WiFi.百度WiFi等,随意下载一个就好,这里我们以猎豹WiFi为例),安装完后创建一个WiFi即可. 然后使用抓包的