beanshell

jmeter对接口测试入参进行MD5加密的5种方式

时间秒杀一切 提交于 2020-04-26 07:31:23
在使用jmeter做测试的过程中,经常需要对请求的入参进行加密,下面列举几种常用的方法,以登录请求密码需要MD5加密为例。 虽然可以先把参数化的明文密码都先md5加密,而不是在登录前先执行加密,但是实际情况是,登录后的请求也可能有需要加密的入参,且入参是动态获取的,所以最好是在脚本运行过程中加密,而不是提前加密好进行参数化。 如果用户的密码都不一样,就需要先对明文密码进行参数化。下面只演示单个用户请求。 注意:涉及路径的,路径最好参数化,不要写死 jmeter自带函数 自带md5函数 在函数助手中找到__MD5这个函数,第一个参数是要md5加密的值,第二个参数是保存加密后值的变量 请求 发送请求,可以看到密码加密了 自带函数生成uuid 可能有些场景需要一个UUID值,即通用唯一识别码 (Universally Unique Identifier) ${__UUID} beanshell自定义脚本 beanshell脚本md5加密 ​细心的朋友会发现,不是每个jmeter版本都有${__MD5(,)}这个函数,在jmeter的lib目录下,自带commons-codec-1.11.jar(如果没有,可以到maven库下一个,下载地址: https://mvnrepository.com/ ,然后放到jmeter的lib目录下),所以

jmeter md5加密请求参数

╄→尐↘猪︶ㄣ 提交于 2020-04-26 06:30:10
实际的接口测试过程中,再发生http之前有可能需要对某些参数(或某几个参数的组合)进行md5加密 在jmeter中可通过两种方式来实现md5加密 beanshell实现md5加密 在org.apache.commons中提供了md5加密的方法,代码如下 import org.apache.commons.codec.digest.DigestUtils; String md5_str = " 需要加密的字符串 " ; String md5 = DigestUtils.md5Hex( md5_str ); vars.put( " md5 " ,md5); log. info (md5); 在beanshell加入上面的代码就可以啦 函数助手实现md5加密 另外一种方法是通过函数助手来进行md5加密 ${__digest(MD5,需要加密的字符串,,,)} 希望以上分享对测试小伙伴有所帮助,更多分享请关注微信公众号 来源: oschina 链接: https://my.oschina.net/u/4262677/blog/3517817

Jmeter 接口测试之MD5加密函数(函数助手篇)

谁都会走 提交于 2020-04-26 04:52:47
转自: https://blog.csdn.net/hhyangel372/article/details/81571058 本文给大家介绍一下如何使用Jmeter自带的函数对常量和变量进行简单的加密处理,废话少说,里面开讲。 使用Jmeter的前提条件: 1.对应Jmeter版本的最新JDK下载,地址http://www.oracle.com/technetwork/java/javase/downloads/index.html 2.下载jdk后,解压安装。(注意记住安装路径) 3.配置环境变量,这里就不多说了,请速看百度教程 https://jingyan.baidu.com/article/6dad5075d1dc40a123e36ea3.html nice~你可以开始虐待Jmeter了 下载Jmeter 4.0版本 下载地址:http://jmeter.apache.org/download_jmeter.cgi 解压下载的jmeter压缩文件,打开文件夹,进入bin目录,找到jmeter.bat文件,双击打开(有时候需要右键以管理员身份运行) 刚刚安装完,你是不是奇怪怎么是英文版的?没关系,下面教你永久汉化。 首先,在Jmeter的安装目录下的bin目录中找到 jmeter.properties这个文件,用文本编辑器打开。 然后在#language=en的下一行增加一段

JMeter【第五篇】关联:jmeter关联的5种方式

帅比萌擦擦* 提交于 2020-04-25 13:43:56
前几天在Q群里看到群友发的最近10年性能测试工具使用率的统计,最近的2018年,jmeter+loadrunner占了93%的使用率,说明这两个是主流,其中,jmeter的使用率逐年提升,现在已经超过了loadrunner,占了51%。 除了做性能,jmeter也可以做自动化测试,比如jmeter + ant + jenkins的自动化测试框架(参考: https://www.cnblogs.com/UncleYong/p/10739519.html ),jmeter还可以做接口功能测试,所以,jmeter应该是每个测试工程师的必备技能。 这里,我们着重讲解jmeter的关联,什么是关联?将服务器提供动态变化的值存放在变量中,当需要使用该变量时,自动从服务器响应的信息中获取该值,并在后面使用的过程中进行替换。(也可能是前端页面动态生成的值) jmeter关联的方式比较多,这里介绍5种方式,总有一种让你喜欢。 如果想了解loadrunner关联的,可以参考LoadRunner【第五篇】关联: https://www.cnblogs.com/UncleYong/p/10702702.html 脚本准备 这里,我们用dummy取样器来模拟服务器的返回,通过关联获取name的值,然后百度搜索这个name的值,这就我们就简单模拟了请求间的依赖关系。 添加dummy取样器 设置返回内容

jmeter,学这些重点就可以了

不想你离开。 提交于 2020-04-25 13:42:49
前言 对测试来说,jmeter应该是大家使用较频繁的测试工具之一,因为其开源、免费、轻量、功能强大,支持很多种协议,除了测功能,还能做自动化和性能测试; 据某机构的调查,性能并发工具中,jmeter市场占有率已经50%+,超过了老大哥loadrunner; 这么一款如此优秀的工具,对测试而言,是必须掌握的; 经常看到群里大家讨论jmeter的各种功能,我发现有些朋友过度使用了一些不必要的功能;其实,jmeter常用的功能并不多,把主要的掌握,基本上就可以搞定90%的需求了,所以,不要把时间耗费在工具不常用的功能上,如果是做性能测试, 分析定位调优才是重点 。 jmeter常用功能(性能方向) 从jmeter2.x版本用到现在的5.x,常用的功能也就下面列举的这些,我不详细单讲,因为网上很多介绍,我博客或者公众号,也有对应的实战应用: 测试计划 线程组 【Sampler】 HTTP请求:可以参考: 测试必备:jmeter测试http协议接口的各种传参方式 BeanShell Sampler Debug Sampler:只看到jmeter变量 如果是其它协议,比如java、dubbo、websocket、smtp、tcp、jdbc,添加对应的取样器等即可,如果没有,那么就需要我们自己开发,所以,java基础是必备的。 【逻辑控制器】 事务控制器 ForEach控制器 仅一次控制器

Jmeter- Beanshell语法和常用内置对象

吃可爱长大的小学妹 提交于 2020-04-25 13:37:18
在利用jmeter进行接口测试或者性能测试的时候,我们需要处理一些复杂的请求,此时就需要利用beanshell脚本了,BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法,所以它和java是可以无缝衔接的。beanshell由于内置了一些特有的变量,没法在一些集成代码工具上去调试。今天就和大家分享下常用的2个代码例子,大家可以直接拿来稍微修改下就可以使用。 Bean Shell内置变量大全 首先大家需要掌握bean shell本身自带的一些内置变量和一些方法。JMeter在其BeanShell中内置了变量,用户是通过这些变量与JMeter进行交互。 1.log 打印日志,写入信息到jmeber.log文件。 2.SampleResult 获取SampleResult对象,能通过这个对象获取想要的信息。 3.Response 获取Response对象,能通过这个对象获取响应信息。 4.Failure 查看接口调使用能否成功,假如返回false是成功的,true是失败的。 5.FailureMessage 失败信息,没有设置的时候失败信息是空的,能set这个信息。 6.ResponseData 获取response body类型是byte[]。 7.ResponseCode 返回接口code成功是200。 8.ResponseMessage

Jmeter学习笔记(十二)——断言

自古美人都是妖i 提交于 2020-04-25 13:37:03
一、断言简介 jmeter中有个元件叫做断言(Assertion)。用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致。 使用断言的目的: 在request的返回层面增加一层判断机制;因为request成功了,并不代表结果一定正确。 使用断言的方法: △ 在选择的Sampler下添加对应的断言(因为不同类型的断言检查的内容不同);配置好响应的检查内容(根据断言情况而定,有的断言控制面板不需要添加任何内容,如XML Assertion)。 △ 添加一个断言结果的监听器(从监听器中添加),通过“断言结果”可以看到是否通过断言;对于一次请求,如果通过的话,断言结果中只会打印一行请求的名称; 如果失败,则除了请求的名称外,还会有一行失败的原因(不同类型的断言,结果不同)。 PS: 一个Sampler可以添加多个断言,根据你的检查需求来添加相应的断言,当Sampler下所有的断言都通过了,那么才算request成功。 二、断言的种类 Jmeter4.0有12钟断言 三、常用几种断言的介绍 1、 响应断言 在sampler下面添加响应断言 APPly to: 适用范围 Main sample and sub-samples:作用于父节点取样器及对应子节点取样器 Main sample only:仅作用于父节点取样器 Sub-samples only

Jmeter学习笔记一_http请求、WebService请求

吃可爱长大的小学妹 提交于 2020-04-25 13:36:40
一、Jmeter简介 1、轻量级测试工具 2、运行的时候必须安装jdk 3、免安装,安装包解压即可使用 4、跨平台在Linux、windows、macos均可使用 二、Jmeter Http请求常用操作 参照上篇初学postman中的常用操作示例,在Jmeter中制作脚本 1、如何创建http接口脚本 (1) 添加线程组 (2) 添加http请求 (3) 在http请求中写入接口url、路径、请求方式、参数 (4) 添加查看结果树 (5) 调用接口、查看返回值 2、get请求 get请求的参数不是直接拼在url里,而是写在Parameters里。 3、post请求 在Parameters中填入参数即可。 4、post请求,json入参 将json串填入Body Data中。 5、文件上传 选择Files Upload来做文件上传,参数名称填file与接口文档保持一致,编码类型选择utf-8避免乱码。 6、文件下载 添加一个http请求:右键线程组,添加-Sampler-HTTP请求 写好http请求中的url和路径 添加beanshell,获取到返回的文件内容,保存到一个文件里面。右键线程组,添加-Sampler-BeanShell Sampler beanshell是下载脚本,下载的话,有一步是要把文件保存到咱们本地的,这个jmeter没有现成的东西可以用

Jmeter Beanshell 用法

ぐ巨炮叔叔 提交于 2020-04-25 13:36:20
Beanshell 的用法 什么是beanshell Beanshell是一种完全符合java语法的脚本语言,并且拥有自己的内置对象和语法 Beanshell是用java写的,一个小型嵌入式java源代码解释器, 具有对象脚本语言特性 Beanshell 执行java语句和表达式, 还包含一些脚本命令和语法. 示例一: beanshell 参数 ​ 示例二: beanshell参数变量 1. 在test plan中添加三个变量 ​ 在beanshell中传入三个参数 ${a1} ${a2} ${a3} ​ 执行查看结果 ​ beanshell的强大之处就在于灵活, 和之前的推文调用自定义jar 包等构成beanshell在jmeter中无处不在. 例如token获取,for循环, 定时器等. 今日推荐阅读文章 精选推荐 为什么要做接口测试 JMeter数据库操作 Jmeter接口测试-正则表达式 JMeter中文返回乱码 Jmeter接口测试-参数化 JMeter接口测试-基础 测试-感想 咨询工作加微信 ​ 扫描二维码 欢迎自荐和推荐, 需要的微信推送简历! 请猛戳下面二维码了解更多 ​ 来源: oschina 链接: https://my.oschina.net/u/4400687/blog/3660111

Jmeter之Bean shell使用(一)

流过昼夜 提交于 2020-04-25 13:35:55
一、什么是Bean Shell BeanShell是一种完全符合Java语法规范的脚本语言,并且又拥有自己的一些语法和方法; BeanShell是一种松散类型的脚本语言(这点和JS类似); BeanShell是用Java写成的,一个小型的、免费的、可以下载的、嵌入式的Java源代码解释器,具有对象脚本语言特性,非常精简的解释器jar文件大小为175k。 BeanShell执行标准Java语句和表达式,另外包括一些脚本命令和语法。 官网: http://www.BeanShell.org/ 二、Jmeter有哪些Bean Shell 定时器:  BeanShell Timer 前置处理器:BeanShell PreProcessor 采样器:  BeanShell Sampler 后置处理器:BeanShell PostProcessor 断言:   BeanShell断言 监听器:  BeanShell Listener 三、BeanShell的用法   在此介绍下BeanShell PreProcessor的用法,其它的beahshell可以类推。在此我们使用beahshell调用自己写的工具类,工具类实现了身份证生成:    1、在eclipse写好代码,然后把该类打成jar包(在类上点击右键->Export->jar file) 2、把jar包放到jmeter目录