03 2021 档案
摘要:Synchronizing Timer:同步时间,俗称集合点; 使用场景:并发测试,放在请求的节点下,等待线程达到预设值以后同时发送请求; Number of Simultaneous Users to Group:需要分组的模拟用户数量,通俗点就是要模拟多少个用户进行并发操作; Timeout i
阅读全文
摘要:JDBC Connection Configuration:数据库连接配置 首先需要两个jar包:mysql驱动-mysql-connector-java-5.1.13-bin.jar 和 sqlServer驱动-sqljdbc4.jar,将这两个jar包放到Jmeter目录中的lib文件下,然后重
阅读全文
摘要:模块控制器:运行到该控制器的时候,会引用所选的其他线程组或同一线程组下其他的控制器,并执行该控制器;(选择其他线程组下的控制器的时候,该线程组可以是禁用状态) 如图:第一个模块控制器选择了其他线程组下的吞吐量控制器,该吞吐量控制器下只有一个登陆请求; 第二个模块控制器选择了同一线程组下的简单控制器
阅读全文
摘要:简单控制器:将一些请求或者元件或者场景归拢到一块,当做一个模块,对运行没有影响,只是看着更加有条理; 如图:控制器下3个请求,运行后每个请求也都运行了,没有影响,在查看结果树中和聚合报告中不会显示这个控制器的任何信息
阅读全文
摘要:事务控制器:可以在控制器下添加多个请求,来当做一个事务; Generate parent sample:生成父样本,勾选后,事务控制器会相当于一个父节点,它下面所有的请求都将在父节点中展示; Include duration of timer and pre-post processors in g
阅读全文
摘要:如果(if)控制器:判断控制器,根据填写的表达式的值(true或false),来决定控制器下的元件是否执行;true就执行,false就不执行; Interpret Condition as Variable Expression?:将条件解释为变量表达式(勾选后需要使用 ${__jexl3 } 或
阅读全文
摘要:随机顺序控制器:控件下所有的元件都执行,只不过顺序是随机的;(随机控制器是随机执行一个不是全部) 如图:2个线程循环一次,结果随机控制器下的3个请求都运行了一次,只不过执行的顺序不同,是随机的; 如图:随机顺序控制下有其他控制器,也是全部执行一遍,顺序随机; 2个线程循环2次
阅读全文
摘要:随机控制器:随机执行一次控件下的请求(元件); 使用场景:测试随机分配业务比例,可用于容量测试(也可用吞吐量控制器控制指定比例) 忽略资控制器块: 勾选了,表示该控件包含的其他的控件下的请求只会随机执行一次; 没有勾选,如果是随机到了其他的控件,则会执行该控件下所有的请求; 随机控制器下只有请求 如
阅读全文
摘要:循环控制器:控制该控件下元件的循环次数,可填写数字,也可以永远循环; 永远:勾选之后,控件下的元件会一直循环下去,可手动停止;要么勾选永远,要么填写数字; 填写数字:填写后,控件下的元件会循环指定的次数,只对当前线程有效; 如图:1个线程1次循环,循环控制器的次数填写5; 运行结果:循环控制器下的请
阅读全文
摘要:仅一次控制器:该控件下所有的请求只执行一次; 线程数*循环次数=总请求数,在仅一次控制器下添加登录请求; 如图:1个线程,5次循环,结果:登录请求只运行了一次,其他请求运行了5次; 如图:2个线程,5次循环,结果:登录请求运行了2次,其他请求运行了10次; 总结: 1.只针对当前线程有效,在当前线程
阅读全文
摘要:吞吐量控制器:用来控制该控件下请求的执行频率; 介绍: total executions:按照次数来执行,填写几次,该控件下的请求就执行几次; percent execution:按照百分比来执行0-100,填写20,该控件下的请求会执行线程数*循环数的20%(前提:Per User不勾选); Pe
阅读全文
摘要:_time获取时间的函数,一般用来获取当前时间,或者用于一些不会重复的接口字段中; Format string for SimpleDateFormat (optional):时间的格式字符串(非必填),如果不填默认获取当前时间的毫秒,如果填了,要填写正确的格式; Name of variable
阅读全文
摘要:场景:提取出token,就不用登陆了,后续接口直接在文件中调用token即可,在实际场景中一般会提取cookie; 如图:先把token提取出来,然后添加BeanShell Sampler,写入脚本; 5个线程组,运行之后,到保存文件的位置查看文件,有5条token; 附脚本: FileWriter
阅读全文
摘要:场景:用户登录的密码需要进行MD5加密,并转换成大写;MD5加密后的字符串是小写的, 思路:1.使用__MD5函数对密码进行加密,转换成32位小写字符串;2.使用${__uppercase(,)}函数把转换后的值再次转换成大写的; 如图:用户的登录密码是1234567,先使用MD5进行加密 Stri
阅读全文
摘要:文件的上传与下载 文件的上传: 首先要确认上传的文件,然后通过抓取的接口查看类型,(参数名称在接口中没有看到所以就自己填了一个)这里上传的是个PDF文件; Advanced中Implementtation必须选择Java,否则运行就报错了; 上传成功,返回了文件在服务器的地址 文件的下载: jmet
阅读全文
摘要:__counter 计数函数,一般用来统计线程迭代的次数; TRUE,每个用户有自己的计数器;FALSE,使用全局计数器:填写true,表示统计每个线程的每一个线程的迭代次数,false表示,把所有线程合到一起统计; 如图,${__counter(true,)},2个线程循环2次,统计的是每个线程的
阅读全文
摘要:CSV参数化 介绍: Filename:文件名称;来填写文件的路径,如果文件在bin目录那么就直接填写文件名称就行; File encoding:csv文件编码,一般填写utf-8、gbk,如果填写了utf-8还是有乱码,那么需要确认csv文件里的是不是utf-8; Variable Names(c
阅读全文
摘要:场景:在提交审核的时候有审核开始时间和结束时间,结束时间比开始时间晚,所以这两个时间需要进行参数化,所以用到了此函数; 如图:添加BeanShell Sampler,写入脚本,会传递出senderDate,和orderDate两个变量; 如果想要后移多少天,可以Calendar.HOUR_OF_DA
阅读全文
摘要:__setProperty的作用是把一个值设置成全局属性,供后续读取,可以用来跨线程调用; 属性名称: 属性名称,供后续读取; Value of property:属性的值,一般都是一个提取出来的值,提取出来的值会通过提取器提取,用一个变量名表示,所以填写的时候,一般是${变量名} Return O
阅读全文
摘要:_RandomString随机字符串函数,输入一个长度,然后返回这个长度的字符串; Random string length:输入的是一个整数,表示这个随机字符串的长度,是必填的; Chars to use for random string generation:填写随机字符串的内容,用于生成字符
阅读全文
摘要:_Random是一个随机函数,需要设置一个区间,然后会在这个区间随机返回一个值; 一个范围内的最小值: 输入这个范围的最小值,必填,输入整数,小数和其他的会报错,最小值不能大于最大值; 一个范围内允许的最大值:输入这个范围的最大值,必填,输入整数,小数和其他的会报错,如果最小值等于最大值,那么返回的
阅读全文
摘要:提取的一个变量有多个值 如图:返回的是一个列表,想要提取一个字段,提取出来之后会有很多值,选择我们需要的 可以提取全部,匹配数字填写-1,表示全部 可以提取第一个,匹配数字填写1,表示提取第一个,以此类推2,3。。。 如果想提取gatewayId=130的gatewayNo的值 正则"gateway
阅读全文
摘要:正则表达式中提取两个不连续的变量 如图:响应返回的是一个列表,需要提取其中的两个字段,但是两个字段是不连续的 如果直接提取则会提取失败,如图: 所以需要改变一下正则表达式:"gatewayNo":"(.+?)",[.\s\S]+?"gatewayMac":"(.+?)" 在中间添加 [.\s\S]+
阅读全文
摘要:表达式中提取两个变量以及后续应用 如图:提取的两个变量之间用,逗号隔开,否则提取失败 表达式提取了两个变量,但是两个变量应用的场景不一样,有的使用token的值,有的使用refreshToken的值,那么提取了两个值之后如何单独使用token呢? 可以加一个Debuug Samper来查看 toke
阅读全文
摘要:参数关联:下一个接口调用上一个接口中返回的值 单独调用token--把登录后响应中的token提取出来,设置成变量供后续接口使用; 如图: 登录后返回一个token,需要用正则提取出来,在后置处理器中选择正则表达式进行提取; 引用名称: 后续调用需要填写的名称,调用时填写成${token}; 正则表
阅读全文