JMeter学习-042-JMeter BeanShell 脚本应用实例之正则应用:正则提取,批量获取测试数据

特别声明:本示例中,涉及的脚本及通过脚本获取的数据,仅可作为学习使用,禁止任何商业用途。若因使用人非法使用而构成违法或犯罪,由具体违法或犯罪的使用人自行承担。与本人及技术博客无关。

实际测试过程中经常需要生成大量的身份证号信息,用以进行身份信息的测试。因线上有些网站可以直接生成身份证号信息,因而可以通过解析相应的请求获取身份证号信息。

任意在线生成身份证号的请求链接,配置好HTTP请求,如下所示:

添加后置处理器【BeanShell PostProcessor】,在脚本中输入如下源码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

String response_data = prev.getResponseDataAsString();

Pattern p=Pattern.compile("\\d+");
Matcher m=p.matcher(response_data);

while(m.find()) {
    if(m.group().length() == 18)
         log.info(m.group());
}

保存,并执行脚本,查看日志输出,如下所示:

通过对脚本进行修改,可获取不同省市身份证号测试信息。

因网络数据信息随时变化,故随时间变迁,此中脚本方法可能会失效,敬请知悉!

原文地址:https://www.cnblogs.com/fengpingfan/p/10694588.html

时间: 2024-10-10 07:04:43

JMeter学习-042-JMeter BeanShell 脚本应用实例之正则应用:正则提取,批量获取测试数据的相关文章

JMeter中Groovy和BeanShell脚本的性能比较

比较完常见后置处理器的性能之后,又顺便比较了下Groovy和BeanShell 2者都是基于JVM的脚本语言,2者都能直接用Java的语法和类库 这些国外网站都推荐用Groovy: http://jmeter.apache.org/usermanual/best-practices.html http://www.ubik-ingenierie.com/blog/magento-performance-toolkit-and-jmeter-best-practices/ https://blaz

JMeter学习笔记--JMeter监听器

监听器(Listeners)是一种展示采样结果的测试元件,采样结果可以通过树.表格.图片加以展示,或者简单地写入某个结果文件之中. 注:不同的监听器通过不同的方式展示服务器响应信息,但它们都将同样的原始数据记录到某个输出文件中(在某个监听器中指定一个输出文件) ”Configure“ 按钮可以被用来配置哪些数据会被写入到结果文件之中,以及结果文件的格式CSV或者XML.与XML文件相比,csv文件占用的磁盘空间要小很多,当采样次数较多时,建议使用csv格式.另外测试人员可以使用简单控制器将一系列

JMeter学习-033-JMeter BeanShell 脚本应用实例之参数变量修改

至此,此文顺利完结,希望此文能够给初学 JMeter 的您一份参考. 最后,非常感谢亲的驻足,希望此文能对亲有所帮助.热烈欢迎亲一起探讨,共同进步.非常感谢! ^_^

JMeter学习笔记--JMeter执行顺序规则

JMeter执行顺序规则: 配置元件 前置处理器 定时器 采样器 后置处理器(除非服务器响应为空) 断言 监听器 只有当作用域内存在采样器时,定时器.断言.前置/后置处理器才会被执行,逻辑控制器和采样器按照在测试树种出现的顺序执行.其他测试元件会依据自身的作用域来执行,另外与测试元件所属的类型有关(归属于同一类型的测试元件,会按照他们在测试树中出现的顺序来执行. 测试计划实例如下: Controller post-Processor1 Sampler1 Sampler2 Timer1 Asser

JMeter学习笔记--JMeter属性和变量

JMeter属性统一定义在jmeter.properties文件中.JMeter属性在测试脚本的任何地方都是可见的(全局),通常被用来定义一些JMeter使用的默认值.如属性remote_hosts定义了JMeter在远程模式下运行的服务器地址.属性可以在测试计划中引用,但是不能作为特定线程的变量值 JMeter变量对于测试线程而言是局部变量,这意味着JMeter变量在不同测试线程中,既可以是完成相同的,也可以是不同的,如果有某个线程更新了变量,那么仅仅是更新了变量在该线程中复制的值.例如,“正

JMeter学习笔记--JMeter常用测试元件

JMeter测试计划有一个被称为“函数测试模式”的选项,如果被选择,它会使Jmeter记录来自服务器返回的每个取样的数据.如果你在测试监听器中选择一个文件,这个数据将被写入文件.如果你尝试一个较小的测试来保证Jmeter配置正确并且你的服务器正在返回期望的结果,这是很有用的.这样做的后果就是这个文件会快速的增大,并且Jmeter的效率会影响. 如果不记录数据到文件,这个选项就没有不同了. 线程组:是任何测试计划的起点,所有的逻辑控制器和采样器都必须放在线程组之下.其他的测试元件(如监听器)可以被

JMeter学习笔记--JMeter前置处理器

前置处理器被用来修改作用域内的采样器 HTML 链接解析器:解析从服务器得到的HTML响应,并从中提取链接和表单,使用perl型的正则表达式来寻求匹配项. HTML URL重写修饰符:使用URL重写来保存会话ID用于替代Cookies的Web应用系统. Session Argument Name:从前一个响应抓起参数名,修改器会从页面中找到该参数,并提取参数值. Path Extension: 一些web应用通过附加一个分好加上会话ID参数来重写URL Do not user equal in

JMeter学习-007-JMeter 断言实例之一 - 响应断言

之前的文章中已经对如何录制 web 的请求进行了详细的描述,敬请参阅:JMeter学习-004-WEB脚本入门实战 同时,我们的手机应用(例如:京东.天猫.唯品会.携程.易迅 等等 App)所发出的请求,也可进行录制,只需要将手机连接的无线网络代理到本机(以 iPhone 为例,依次点击 [设置]/[无线局域网]/[连接网络信息,即网络右侧详细信息符号]/[HTTP代理]/手动],填写 服务器IP.端口 对应填写 JMeter 机器的 IP.JMeter HTTP 代理端口 即可),并将对应的端

JMeter学习-037-JMeter调试工具之四-BeanShell+jmeter.log

前面三篇文章分别讲述了 HTTP Mirror Server . Debug PostProcessor 和 Debug Samper 的脚本调试实例.此文主要讲述第四种调试方法,通过 BeanShell 脚本结合 jmeter.log 查看响应的变量等信息. BeanShell脚本访问变量主要通过 vars 和 props 去访问,常用主要方法如下: vars.get(变量名):获取定义变量对应的值,含BeanShell脚本生成变量: vars.put(变量名,变量值):生成新的变量或修改已存