jmeter 实际操作过程中的知识汇总

涉及到时间戳

可使用函数  ${__time(,)}  默认该公式精确到毫秒级别, 13位数

https://blog.csdn.net/dreamtl/article/details/68957447

jmeter 实际操作过程中的知识汇总_第1张图片

jmeter 安装和环境配置

完整的安装步骤:

https://www.cnblogs.com/wxh04/p/7754156.html

1.安装jdk , 确认安装好之后,在命令行内输入 java -version ,查看确认是否安装好

2.配置环境变量

jmeter 实际操作过程中的知识汇总_第2张图片

jmeter 实际操作过程中的知识汇总_第3张图片

 

压力测试和并发测试的理解

 

在幼儿园系统内,添加200个幼儿信息

基本结构如下:

jmeter 实际操作过程中的知识汇总_第4张图片jmeter 实际操作过程中的知识汇总_第5张图片

-为了测试方便,幼儿姓名 和 家长手机号码通过 计数器来标识

jmeter 实际操作过程中的知识汇总_第6张图片jmeter 实际操作过程中的知识汇总_第7张图片

-其中第四项,控制幼儿的男女,可以使用 函数助手中的 __Random 来控制,进行随机生成

-为了添加200个幼儿,要在http请求外层加上循环控制器,循环次数为200,使得每次都可以用到增加的计数器的值,从而将参数传到接口中

jmeter 连接数据库,进行数据库操作

jmeter 实际操作过程中的知识汇总_第8张图片

 

jmeter 连接数据库报错:Cannot create PoolableConnectionFactory (Access denied for user...

a:出错的原因查找:1.url 后面没有待上表的名字 2. username password 核对是否正确

 

b:数据库返回值的设置

jmeter 实际操作过程中的知识汇总_第9张图片

 Jmeter将JDBC Request查询结果作为下一个接口参数方法(jdbc的基本设置,可以在网上搜索得到,此处不写)

a:jdbc  request 页面设置如下,注意下面的红色标记为 你从数据库取出的参数,等会要传递到下一个接口

jmeter 实际操作过程中的知识汇总_第10张图片

 

b:注意传递数据库参数的时候,要使用下标,若取出来的值有多行,要使用哪一行的数值,就标下标号码

jmeter 实际操作过程中的知识汇总_第11张图片

 


同一线程内,设置全局变量,使得B请求调用A请求中的值

a:若token直接手动设置,在A请求内的后置处理器中添加

jmeter 实际操作过程中的知识汇总_第12张图片

若以上的token值是从A请求的返回值中获得,那么就添加正则表达式提取,相应的后置处理器中修改如下:

jmeter 实际操作过程中的知识汇总_第13张图片

jmeter 实际操作过程中的知识汇总_第14张图片

b:在B请求的前置处理器中添加 用户定义的变量

jmeter 实际操作过程中的知识汇总_第15张图片

c .

jmeter 实际操作过程中的知识汇总_第16张图片

从A中提取的token变量,在B中设置成用户自定义变量,在C请求中仍旧是可用的,若将用户自定义变量放在整个线程上,那么应用范围为整个线程。

正则表达式

jmeter 实际操作过程中的知识汇总_第17张图片jmeter 实际操作过程中的知识汇总_第18张图片

 

jmeter中如何在一个线程组中只运行选择的组件

jmeter在调试时往往只是运行调试的组件,在jmeter中可以对不运行的组件进行禁用来实现:

右键组件,选择禁用,运行时该组件及其下属组件皆不运行

 用户自定义变量的用法


a: 添加方法:添加-配置元件-用户自定义变量 直接设置变量

jmeter 实际操作过程中的知识汇总_第19张图片

b:设置好变量名和变量值之后,可以在http请求中用到${变量名} 来调用变量

jmeter 实际操作过程中的知识汇总_第20张图片

 

c:如果用户自定义变量放在线程组之上上,就可作用于全局,如果放在线程组内,作用于局部

(类似于全局变量和局部变量)

 CSV Data Set Config ,除了可以在文本文档内将用户名和密码参数化,还可以将断言写入到CSV文档(可用excel,最后另存为.CSV文件)文件中。

a: 

jmeter 实际操作过程中的知识汇总_第21张图片

b:若.csv文件中的用例数量较多的时候,要将http请求和csv配置文件放在循环控制器内部,修改循环次数,若用例有2条,那么循环次数为2

post 请求要添加http信息头管理器,可以通过fiddler来复制过来

jmeter 实际操作过程中的知识汇总_第22张图片

 

 BeanShell PreProcessor 中将获取到的参数,进行修改

jmeter 实际操作过程中的知识汇总_第23张图片

测试过程中,通过登录幼儿园后台,结果一致提示:不好意思,您需要重新登入

显示如下:

jmeter 实际操作过程中的知识汇总_第24张图片

设置如下:将beanshell processor  (其中设置了token值)放在在请求的前面

java.lang.IllegalArgumentException: Host name may not contain blanks 报错

发现是由于我从fiddler中复制所有的headers 时,将host也复制过来了,所以会有上面的报错

jmeter 实际操作过程中的知识汇总_第25张图片

解决办法:将上面信息头管理器的host删除即可

header 信息头管理器作用范围

如图:第一个信息头作用范围是该测试计划内的所有http请求,第二个信息头作用范围只在其所在的http请求内

jmeter 实际操作过程中的知识汇总_第26张图片

若将第二个信息头 调整到测试计划的分支上来,那么就会缺少token,没有权限操作

jmeter 实际操作过程中的知识汇总_第27张图片

 

目的:在幼儿园后台先获取同一个班级内的幼儿id 20个,作为参数传到点赞的接口内,多个人同时进行点赞和取消操作

主要结构如下:

jmeter 实际操作过程中的知识汇总_第28张图片

关键步骤:

获取到的同一个班级的幼儿id,进行正则表达式提取,显示如下.其中模板指的是可能同时写了多个正则表达式,要使用模板来提取。匹配数字0为随机取值,1为全部取值。

jmeter 实际操作过程中的知识汇总_第29张图片

该处用到 foreach,因为要用到20个,所以foreach设置如下:

jmeter 实际操作过程中的知识汇总_第30张图片

用到qh_child_id的接口,如下所示:

你可能感兴趣的:(问题汇总)