beanshell

一篇文章,学会jmeter模拟文件上传、下载操作

≯℡__Kan透↙ 提交于 2020-08-08 14:04:03
最近很多同学都在问jmeter上传,下载文件的脚本怎么做? 正巧这阵子忙完有时间,就来“折腾”一番,哈哈 现整理出来和大家分享 到底该怎么做? 一、准备工作: 上传接口一个(自行开发解决了) 下载接口 ps:没有困难创造困难也要上 jmeter4.0版本 上传接口源码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 /** * 文件上传 */ @RequestMapping(value = "/fileUpload" , method = RequestMethod.POST) @ApiOperation(value = "上传文件" , httpMethod = "POST" ) @ResponseBody public String fileUpload(@RequestParam(value = "file" , required = false ) MultipartFile file) { if (Objects.isNull(file)) { return getMessage( "90110" , "上传文件不能为空!"

Jmeter系列(45)- 详解 Jmeter 跨线程组取参数值的方法,免代码!

。_饼干妹妹 提交于 2020-08-08 07:50:03
如果你想从头学习Jmeter,可以看看这个系列的文章哦 https://www.cnblogs.com/poloyy/category/1746599.html 前言 用过 Jmeter 的同学应该都知道,Jmeter 不支持跨线程传递参数 哎,那我想跨线程传递参数,要咋整呢?别急,接下来我们就来讲解如何不使用代码就可以解决此问题 官方也有正式说明,所以这并不是 Bug 哦 一定要通过 BeanShell 去跨线程组传递参数吗? 通过百度搜索:Jmeter 跨线程组传递参数 会看到很多文章都是通过 BeanShell 写代码去实现的 这对于代码小白极其不友好! 所以这篇文章将教会大家如何 不通过写代码 去实现跨线程传递参数! 定义属性法 思路 在Jmeter 中,属性时全局的,可以动态设置;但变量是每个线程独有的,所以通过设置属性可以实现跨线程传参 测试计划结构树 第一步: 添加了三个线程组 登录需要注册接口返回的手机号,获取订单列表需要登录接口返回的token,均需要跨线程组传参 注册接口的 Json 提取器 第二步: 通过提取器(json、正则、xpath),提取需要跨线程组传递的值 注册接口的 BeanShell 后置处理器 第三步 添加一个 BeanShell 后置处理器 添加一个 ${__setProperty()} 函数,按照图片说明写变量名 登录接口的请求体 第四步

史上最全的 jmeter 获取 jdbc 数据使用的四种方法

牧云@^-^@ 提交于 2020-08-07 13:23:33
jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据。 那从数据库获取回来的数据,一般会用什么方式来接收呢? 常见的有两种: Variable names 和 Result variable name 。 相信,大家肯定用的最多的就是第一种Variable names,因为这种,使用Foreach控制器使用最简单。 但是,其他的你懂得如何使用吗? 那今天,我就在这里,把Variable names 和 Result variable name 这两种接收变量,并循环使用的办法做了一个汇总,给大家讲解一下。 我们先看用 Variable names 接收数据库返回值的情况: Variable names为dbmobile,来接收从数据库查询返回回来的100个用户号码,我们可以看下,从数据库中返回回来的数据,是如何被变量接收的。 方法一: 使用foreach控制器,循环的使用这100个手机号,进行登录 看到上图, 输入变量前缀,输入的是Variable names的变量名称; 然后开始循环和介绍循环值(上面图中我其实只用98个值,不是100个值); 再看输入变量名称,我自定义了一个变量;再勾选了数字之前加下划线。 这个图,我们就看到,登录接口中

Jmeter(十四)

自作多情 提交于 2020-08-07 08:27:51
1.简介   用户实际操作时,并非是连续点击,而是存在很多停顿的情况,例如:用户需要时间阅读文字内容、填表、或者查找正确的链接等。为了模拟用户实际情况,在性能测试中我们需要考虑思考时间。若不认真考虑思考时间很可能会导致测试结果的失真。例如,估计的可支撑用户数偏小。在性能测试中,访问请求之间的停顿时间被称之为思考时间,那么如何模拟这种停顿呢?我们可以借助JMeter的定时器实现。   JMeter中的定时器一般被我们用来设置延迟与同步。定时器的执行优先级高于Sampler(取样器),在同一作用域(例如控制器下)下有多个定时器存在时,每一个定时器都会执行,如果想让某一定时器仅对某一Sampler有效,则可以把定时器加在此Sampler节点下。 2.预览定时器 首先我们来看一下JMeter的定时器,路径:线程组(用户)->添加->定时器(Timer);我们可以清楚地看到JMeter5中共有9个定时器,如下图所示: 如果上图您看得不是很清楚的话,宏哥总结了一个思维导图,关于JMeter5的逻辑控制器类型,如下图所示: 通过以上的了解,我们对定时器有了一个大致的了解和认识。下面宏哥就给小伙伴或则童鞋们分享讲解一些通常在工作中会用到的定时器。 3.常用定时器详解 这一小节,宏哥就 由上而下 地详细地讲解一下常用的定时器。 3.1Gaussian Random Timer 高斯定时器,高斯定时器

史上最全的 jmeter 获取 jdbc 数据使用的四种方法

旧城冷巷雨未停 提交于 2020-08-05 04:06:17
jmeter使用jdbc协议获取数据库中数据,很多人都会用,因为大家在做测试的时候,有时候需要大量的用户进行登录,获取需要数据库中真实的数据用于测试,所以常常会用jdbc来获取数据库数据。 那从数据库获取回来的数据,一般会用什么方式来接收呢? 常见的有两种: Variable names 和 Result variable name 。 相信,大家肯定用的最多的就是第一种Variable names,因为这种,使用Foreach控制器使用最简单。 但是,其他的你懂得如何使用吗? 那今天,我就在这里,把Variable names 和 Result variable name 这两种接收变量,并循环使用的办法做了一个汇总,给大家讲解一下。 我们先看用 Variable names 接收数据库返回值的情况: Variable names为dbmobile,来接收从数据库查询返回回来的100个用户号码,我们可以看下,从数据库中返回回来的数据,是如何被变量接收的。 方法一: 使用foreach控制器,循环的使用这100个手机号,进行登录 看到上图, 输入变量前缀,输入的是Variable names的变量名称; 然后开始循环和介绍循环值(上面图中我其实只用98个值,不是100个值); 再看输入变量名称,我自定义了一个变量;再勾选了数字之前加下划线。 这个图,我们就看到,登录接口中

Java自动化测试框架-08

感情迁移 提交于 2020-05-09 14:06:59
转自: https://www.cnblogs.com/du-hong/p/11810569.html 一、并行性和超时 您可以指示TestNG以各种方式在单独的线程中运行测试。 可以通过在suite标签中使用 parallel 属性来让 测试 方法运行在不同的线程中。这个属性可以带有如下这样的值: 二、并行套件(suites) 如果您正在运行多个套件文件(例如“ java org.testng.TestNG testng1.xml testng2.xml”),并且希望每个套件在单独的线程中运行,则这个很有用。您可以使用以下命令行标志来指定线程池的大小: java org.testng.TestNG -suitethreadpoolsize 3 testng1.xml testng2.xml testng3.xml 相应的ant任务名称为suitethreadpoolsize。 三、并行测试,类和方法 在并行于<suite>标记属性可以取下列值之一: <suite name="My suite" parallel="methods" thread-count="5"> <suite name="My suite" parallel="tests" thread-count="5"> <suite name="My suite" parallel="classes" thread

使用EOLINKER做接口测试最佳路径(上)

▼魔方 西西 提交于 2020-04-28 04:21:48
本文内容: 测试脚本管理:讲述如何在 EOLINKER 上设计测试项目目录结构。 编写测试脚本:讲述如何在 EOLINKER 上编写接口测试脚本。 测试脚本执行及报告:讲述如何在 EOLINKER 上执行接口测试脚本,及如何查看和下载测试报告。 测试项目人员协作:讲述如何在 EOLINKER 上进行多人的测试项目协作。 1.测试脚本管理 在EOLINKER上设计测试项目目录结构来管理测试脚本; 先来看下EOLINKER的测试脚本管理分级: 项目管理 > 测试项目管理 > 测试项目模块管理(支持子模块和子子模块管理) > 测试用例集 > 单个测试用例 测试脚本管理分级 项目管理 如果现在你只有一个项目叫"小鱼游游Web",包含web版/app版/公众号H5版/小程序版,你可以通过【新建自动化测试】(如下图中标记1)来创建每个版本的测试项目; 如果现在你有多个项目,如"小鱼游游Web","小鱼游游APP",同时每个项目包含web版/app版/公众号H5版/小程序版,你可以先通过【新建分组】(如下图中标记2),为"小鱼游游Web","小鱼游游APP"分别创建各自的项目目录,然后进入各个项目目录中,通过【新建自动化测试】(如下图中标记1)来创建每个版本的测试项目; 另外,如果项目已经结案,可以通过项目列表的[归档]操作按钮,项目就会移至【已归档项目】(如下图中标记3)列表中

jmeter接口自动化和性能学习目录

好久不见. 提交于 2020-04-27 21:44:49
目录黑色代表未完成的,绿色代表已完成的文章。目录的作用的为了引导和总结自己的学习,也是为了更好的分享给大家。 一、接口自动化 jmeter解决登录token获取 jmeter五种提取器 之 正则表达式 jmeter之timer --笔记一 jmeter正则中常见的转义字符-笔记三 Jmeter5.1 Plugins Manager配置和dummy使用 jmeter通过cookie获取图片验证码实现登录 服务器上build.xml文件乱码解决(亲测有效) Jmeter 5.1实现图片上传接口测试 jmeter5实现mysql数据库值提取--单sql提取 jmeter beanshell sampler 使用 jmeter轻量级框架实现jenkins持续化集成(已写书) 二、性能入门和升级 jmeter非GUI界面常用参数详解 jmeter分布式压测原理简介1 200用户的并发用户配置(CSV) 一个简单的websocket压测设置 jmeter本机内存溢出如何修改? 三、数据库 jmeter5单sql语句连接与数据库值提取 jmeter多sql查询 jmeter5实现mysql数据库值提取--单sql提取 踩坑记录 坑:jmeter代理服务器录制脚本出现target controller is configured to "use recording Controller" but

jmeter BeanShell断言(四)

谁说胖子不能爱 提交于 2020-04-26 08:11:21
Bean Shell常用内置变量    JMeter在它的BeanShell中内置了变量,用户可以通过这些变量与JMeter进行交互,其中主要的变量及其使用方法如下: log :写入信息到jmeber.log文件,使用方法:log.info(“This is log info!”); ctx :该变量引用了当前线程的上下文,使用方法可参考:org.apache.jmeter.threads.JMeterContext。 vars - (JMeterVariables): 操作jmeter变量 ,这个变量实际引用了JMeter线程中的局部变量容器(本质上是Map),它是测试用例与BeanShell交互的桥梁,常用方法:     a) vars.get(String key):从jmeter中获得变量值     b) vars.put(String key,String value):数据存到jmeter变量中     更多方法可参考:org.apache.jmeter.threads.JMeterVariables props - (JMeterProperties - class java.util.Properties): 操作jmeter属性 ,该变量引用了JMeter的配置信息,可以获取Jmeter的属性,它的使用方法与vars类似,但是只能put进去String类型的值

jmeter4.0进行MD5加密

℡╲_俬逩灬. 提交于 2020-04-26 07:37:58
在我们使用Jmeter测试的过程中,尤其是接口测试,有时候需要对参数进行MD5加密后再进行操作。 Jmeter自带的就有MD5加密需要使用的到的jar(注意jmeter版本):commons-codec-1.10.jar,在jmeter的lib目录下面。 在需要进行MD5加密的线程地方添加一个BeanShell Sampler,在BeanShell Sampler里面编写代码即可实现: commons-codec-1.10.jar是jmeter本身自带的jar,直接在BeanShell Sampler里面import就可以生效了;如果所使用的jar在jmeter的lib目录没有的话,需要在测试计划“Add directory or jar to classpath”把jar添加进来即可。 import org.apache.commons.codec.digest.DigestUtils; String str = "from=jiangsu&method=syncAllOrg&origin=wechat&random_str=${__UUID}key=ce7dae12-b855-406c-9d0f-112093808e35"; String sign = DigestUtils.md5Hex(str); String random = str; vars.put("sign