随笔分类 - 测试技术-Jmeter技术
摘要:同步定时器 在性能测试中,尤其是抢购/抢红包/秒杀活动业务等某时段集中访问场景,需要模拟多用户集中并发测试,此时需要用到同步定时器(Synchronizing Timer)。每次SyncTimer的目的是阻塞线程,直到阻塞了n个线程,然后立即释放它们。 模拟用户数:当设置为0时,等同于线程组中设置的
阅读全文
摘要:背景 1、获取数据库的多个字段 2、接口需要循环用这几个变量 一、获取数据库的多个字段 1、获取多个字段 2、用多个变量存储 二、获取数据库的表的总数 1、获取数据库表总数 2、保存变量 三、添加循环控制器 四、添加计数器 五、嵌套变量获取 ${__BeanShell(vars.get("变量字段_
阅读全文
摘要:背景 接口B依赖接口A返回值,当接口A返回值不为空数组时,才执行接口B 步骤一:获取接口A的返回值 1、使用JSON提取器,提取distributionList 步骤二:调用接口B之前先用IF控制器 1、判断接口A返回的值是否为空数组,不为空数组时才执行接口B
阅读全文
摘要:背景 接口A: 完成审批 接口B:接口A完成审批后生成客户订单号 由于:接口A 执行完后需要等待一段时间才生成客户订单号,所以接口B经常获取不到客户订单号 解决:循环执行接口B,直到获取到客户订单号为止 步骤一:接口B 提取客户订单号,使用JSON提取器 1、提前客户订单号,存入变量:custome
阅读全文
摘要:区别 vars 只能在当前线程组内使用,props 可以跨线程组使用 vars 只能保持String 或者Objec, props 是 Hashtable 对象 vars: 1、本质是Map,是单个线程的本地属性,能在beanshell里面进行赋值和取值 2、示例 vars.get("saleOrd
阅读全文
摘要:前言 Jmeter 获取到Jdbc 结果集后,我们经常要对接收结果集对结果集进行处理,常见的有两种:Variable names 和 Result variable name,接下来我们看下处理方法 方法一:使用Variable names + foreach 控制器 1、获取数据放入Variabl
阅读全文
摘要:前言 JMeter往往需要执行完之后拼凑完测试报告,才能看到结果。命令行里的内容也不够详细。那么如何在执行过程中实时监控执行效果呢? 使用InfluxDB+Grafana 这个组合可以解决我们的痛点,那就是性能测试过程中的不透明。 InfluxDB 和 Grafana是什么 InfluxDB是一种时
阅读全文
摘要:import org.json.JSONArray;import org.json.JSONObject;import java.util.Calendar;import java.util.Date;import java.text.SimpleDateFormat;// 获取当前日期Calend
阅读全文
摘要:场景: 订单列表返回N个订单,需要针对N个订单进行确认操作 1、订单列表接口,JSON提取器提取N个订单编号,如图 2、foreach 控制器 3、beanshell 前置处理器,将订单号FSO111--》替换为FMO111
阅读全文
摘要:在接口测试的时候,很多接口都需要用户先登录,才有访问接口的权限。登录是一个前置操作。前置操作用来准备测试数据,jmeter 里面也有个 setUp 线程组可以实现前置准备工作。 setUp线程组 我们需要测试的前置操作就是先登录,取出token,后面的接口拿着这个token就有权限访问了在测试计划里
阅读全文
摘要:在JMeter中最常用的控制器有: Simple Controller Loop Controller Once Only Controller Throughput Controller Interleave Controller If Controller While Controller 一、
阅读全文
摘要:一、Beanshell 如何读取参数 二、Beanshell 前置处理器,设置变量 三、Beanshell 取样器,获取响应值和变量,对响应值进行操作 四、Beanshell 后置处理器 五、Beanshell 断言
阅读全文
摘要:一、下载mysql数据库驱动包并添加到测试计划中 先查看服务器中安装的数据库版本,下载一个高于数据库版本的数据库驱动包,如:服务器mysql版本为5.6.17,我下载的是mysql-connector-java-8.0.17.jar 把jar 包添加到测试计划中,如图 二、在线程组中添加JDBC C
阅读全文
摘要:使用场景:经常登录接口值要拿到返回的Token,就可以使用,所以我们可以吧登录放在单独的一个线程,业务接口放在其他线程。那么就需要把登录返回的Token传入到其他线程组。 解决方法———后置处理器Beanshell PostProcessor 1、选择“获取token”线程组:添加Jon提取器,提取
阅读全文
摘要:一、使用BeanShell 断言 当我们在做测试时候,经常需要根据响应的结果,断言结果是否正确返回,除了使用响应断言外,也可以使用BeanShell 断言 准确的判断响应中的值是否与预期相等。 1、在http请求-->添加-->断言-->bean shell 断言 引入jar包 2、获取上一个请求的
阅读全文
摘要:一、什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚
阅读全文
摘要:1、通过查看“察看结果树” 里面的请求信息和响应信息 2、使用后置处理器的调试后置处理程序 2.1 添加调试后置处理程序 2.2 查看取样器结果 3、配置通过抓包工具代理地址,例如:配置charles 代理地址
阅读全文
摘要:一、使用正则表达式提取器获取 比如需要提取如下响应文本中的 “code=1ec3c867095644e7b75216b5c4b4c489” 里面的 “1ec3c867095644e7b75216b5c4b4c489”: 1、在View Result Tree中选择RegExp Tester,即可展开
阅读全文
摘要:一、Jmeter常见组件 1、测试计划:起点,所有组件的容器 2、线程组:代表一定数量的用户 3、取样器:向服务器发送请求的最小单元 4、逻辑控制器:结合取样器一起使用,实现一定的复杂逻辑 5、前置处理器:请求之前的一些工作 6、后置处理器:请求之后的一些工作 7、断言:用于判断请求是否达到预期 8
阅读全文

浙公网安备 33010602011771号