
jmeter-接口
文章平均质量分 51
用于解决和记录jmeter做接口测试时的技术和难点。
Test-Admin
本来以为,学习了这么多年,我已经洞察了世界,真相却不过是蒙蔽了自己。原来世界如此精彩,而我却一无所知。
展开
-
(十二)jmeter接口自动化难点系列---重复请求接口,直到返回正确的数据
当我们在做接口测试的时候,会遇到这么一种情况,一个接口会一直请求,直到请求返回想要的数据后才会停止请求。最近我就遇到一个这样的接口,一个异步导出应用的接口,首先发送一个导出应用的接口请求,发送后,服务器开始打包,再次发送一个查询状态的请求,查询状态的请求每3秒钟请求一次,直到返回的请求中返回了打包好的导出应用路径。这里面就会遇到查询打包状态,每3秒查询一次,直到返回打包路径才会停止。这种情况就需要用到jmeter里面的循环控制器了。设计如下:我使用的是while循环控制器。首先一原创 2022-03-06 14:32:18 · 3515 阅读 · 2 评论 -
(十一)jmeter接口自动化难点系列---设置响应超时时间
在做jmeter接口测试的时候,有时服务器问题,导致我们的接口一直在请求,而无法得到返回。所以我们需要用到jmeter的一个功能响应超时自动停止请求。在jmeter中, 有一项设置名称为timeout,顾名思义,超时时间。连接为1000,意思为等待服务器连接1000ms,不管此时是否已连接上服务器,硬等待响应为1000,意思为等待返回消息时间1000ms,不管此时是否早已返回消息,硬等待如何是要统一给多个线程、多个接口设置超时时间。可以在默认请求值中进行设置,跟接口请求中是一样一原创 2021-12-07 10:32:51 · 6309 阅读 · 0 评论 -
(十)jmeter接口自动化难点系列---跨线程组传递参数
我们都知道,jmeter的线程组之间是相互独立的,各个线程组互不影响。但有时,为了实现业务流程,往往需要跨线程来传递参数解决这样的问题。接下来我就讲一讲在jmeter中,如何做到跨线程组传递参数。方法:jmeter本身的内置函数${__setProperty(参数名,${参数},)};可以把某参数的值设置成jmeter本身的内置属性,是全局变量,各个线程都可调用。调用时,只需使用调用jmeter属性的函数${__P(参数名,)}来调用相应的属性即可。例如:test1线程组中,有一个添加线原创 2021-11-30 10:59:33 · 1502 阅读 · 0 评论 -
(九)jmeter接口自动化难点系列---生成HTML报告优化
在我们通过jmeter工具做出接口测试以后,我们往往需要做一个测试报告给领导和研发人员看,使用我们jmeter自带的HTML报告的话,往往会生成如下一样的性能测试报告,而不是接口测试报告。要生成接口测试报告,就需要借助ant来编译生成我们的接口测试报告了。...原创 2021-09-24 16:15:47 · 693 阅读 · 0 评论 -
(八)jmeter接口自动化难点系列---文件下载
上次我们讲到了文件的上传,今天我们讲讲jmeter的文件下载接口。 怎么说呢,文件下载接口太简单了,跟平常的http接口就加了一个BeanShell 后置处理的工作。首先,还是我们正常的接口:然后再我们的接口下加上一个BeanShell 后置处理程序元件。 在BeanShell 后置处理程序内编写如下脚本。脚本代码如下:import java.io.*;// 获取请求返回的数据,通过p...原创 2021-08-24 18:15:07 · 327 阅读 · 0 评论 -
(七)jmeter接口自动化难点系列---文件上传
在做接口测试的时候,往往免不了做文件上传下载的接口。那么,如何使用jmeter在做文件上传下载的操作呢,今天我们就来讲一下jmeter做文件上传的接口测试。 第一步:接口的参数必须写到‘参数’下面,不能写到‘消息体数据’中。如果没有参数就不用填写了。 第二步:在文件上传中填写参数名称和文件的绝对路径。 第三步:MIME类型填写:multipart/form-data,或者填写抓包的接口的类型。...原创 2021-08-23 15:25:59 · 417 阅读 · 1 评论 -
(六)jmeter接口自动化难点系列---jmeter使用base64解密
今天记录一下base64解密操作。这个操作也是因为接口中需要用到base64解密。需求是这样的,有一个注册接口,需要输入验证码参数,但是开发没有在数据库中存验证码,也没有写通用的验证码,最后开发只是在测试环境中,把验证码回显到获取验证码的接口中。而且这个验证码是base64加密的。 我们拿到这个验证码肯定是无法直接使用的,我们必须进行解密后才能使用。步骤一:在获取验证码中提取base64加密的验证码。提取验证码。步骤二:添...原创 2021-08-09 18:36:13 · 2748 阅读 · 0 评论 -
(五)jmeter接口自动化难点系列---jmeter使用__intSum函数
__intSum函数是用于计算的一个函数,看函数名称就能大概猜出是一个什么函数了。作用:整数求和,多个数字之间用逗号分隔入参:第一个整数;第二个及之后的整数;变量名 示例: ${__intSum(1,2,3,4,5,6,7,8,test)} 用到这个函数呢,也是因为我这边有一个接口需要。我这边有一个克隆版本的接口,这个接口的版本号是不断累加的,而每次请求的时候呢就需要查询出来当前最高的版本号,然后加1,成为接口的版本号参数。首先通过JDBC Request查询出来数据库中最高的.原创 2021-08-07 10:11:31 · 803 阅读 · 1 评论 -
(四)jmeter接口自动化难点系列---jmeter连接MySQL数据库操作
在我们做接口测试的时候,参数的获取有许多都是需要查询数据库来获得的。今天就讲讲jmeter如何连接MySQL数据库,进行数据查询的。 首先,要想让jmeter连上MySQL数据库,必须先安装MySQL驱动。驱动下载地址:https://download.youkuaiyun.com/download/TE_M_D/20586600把下载的驱动解压后,放入jmeter的lib目录下即可。通过官网:https://dev.mysql.com/doc/connector-j/5....原创 2021-07-28 10:55:33 · 306 阅读 · 0 评论 -
(三)jmeter接口自动化难点系列---jmeter上下文关联操作
在做接口测试的时候,会经常遇到上下文关联的问题,比如:新增一条数据后,需要这条数据中的UUID或者ID字段,进行编辑接口或者删除接口的操作。又或者用户登录后,session信息都不同,有些操作要使用session,就需要将这个动态的信息保存下来。第二个请求提交的参数要从第一个请求的返回数据中获取,这就是上下文关联。在jmeter中,我们可以使用多种方法进行上下文关联。比如:我这边有一个添加许可证的接口,有一个删除许可证的接口,删除许可证需要用到添加的许可证的ID,...原创 2021-07-27 15:39:38 · 825 阅读 · 0 评论 -
(二)jmeter接口自动化难点系列---jmeter接口测试时使用函数助手定义变量
在使用jmeter进行接口测试时往往需要一些变化的参数作为请求数据。比如:注册时使用的用户名、手机号;修改数据时,当前的时间等待这些需要不断变化的参数。我们的接口自动化测试不可能每次运行的时候来手动进行修改数据,这时候,把参数变成每次执行可变才是我们需要做的。在jmeter中,我们可以通过jmeter自带的函数助手进行我们的参数控制。可以通过工具-函数助手对话框,打开函数助手。也可以直接点击页面中文件册图标打开函数助手。对于函数助手的使用大家可以通过下面链接进行查看。https://www.原创 2021-07-26 10:07:11 · 344 阅读 · 0 评论 -
(一)jmeter接口自动化难点系列---jmeter多个线程组接口请求顺序问题
1、在使用jmeter做接口测试时,常常遇到这么一个问题,我们的接口在一个测试计划中,有多个线程组,每个线程组下有多个接口。在我们运行所有线程组的时候就会发现,接口的执行顺序毫无规律,从而导致正确的接口也请求失败的情况。2、那么有什么办法让接口请求按照线程组,一个一个的去执行呢。办法当然是有的,我们可以在测试计划中设置:独立运行每个线程组。3、让我们再次来运行一下接口,看看效果。完美的解决了多个线程组,不按顺序执行的问题。...原创 2021-07-19 19:26:04 · 2175 阅读 · 1 评论