博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第十讲、Jmeter之关联
阅读量:2242 次
发布时间:2019-05-09

本文共 1204 字,大约阅读时间需要 4 分钟。

1、关联是什么

 关联是一种动态行为,用以后续的请求(比如HTTP请求)从之前的请求(比如JDBC Request)的的查看结果器—>响应数据(服务器返回的数据)中直接使用指定的数据。

常见场景一:1、HTTP请求—>HTTP请求。某个用户(调用登陆接口)登录成功后服务器会返回一个登录凭证比如防止csrf攻击而生成的app_token,之后的操作比如修改密码接口、支付接口和购买接口等都需要带上此凭证。我们怎么获取登录凭证并传递给后续的这三个HTTP接口请求呢,可用的方法就是关联。2、注册接口中有个参数input_code(短信验证码)也是通过关联从注册发送短信验证码接口的响应数据中获取的。3、查询订单详情接口中有个参数order_id(订单ID),也是通过关联从购买接口的响应数据中获取的。

常见场景二:JDBC Request—>HTTP请求。1、性能测试之多个用户并发登陆以测试系统当前支持的最大在线人数,登陆接口有五个参数mobile、password和app_ver、signMsg、device_type,比较low 的方法就是写一个txt参数化文件,手动从数据库里粘贴复制成百上千组mobile和password,比较hign的做法就是通过关联从JDBC Request的响应数据获取mobilepassword,只有app_ver、signMsg和device_type是手动输入的固定数据。2、性能测试之多用户并发访问产品列表页,访问产品列表页接口中的参数categorycurrentpage可以是手动输入固定的。3、性能测试之多用户并发访问产品详情页,访问产品详情页接口的参数product_id可以是手动输入固定的。4、性能测试之多用户并发购买同一理财产品时的参数化也可以通过关联实现,购买接口中的用户IDapp_token、身份证号和银行卡号都取自JDBC Request的响应数据,只有产品ID和购买金额是手动输入的固定数据。关键两点:采样器JDBC Request里查询sql语句的写法和正则表达式提取器里的前三行。

Jmeter中,关联是通过之前请求的后置处理器实现的,具体有XPath Extractor和正则表达式提取器两种方式,这里仅介绍正则表达式提取器。

2、通过后置处理器—>正则表达式提取器

第一步、之前的请求

本demo中使用HTTP请求不使用JDBC Request。添加一个http请求,比如登陆接口,运行然后得到响应数据(就是该接口的返回报文)。如图所示,登录凭证是"Message":"凭证"

第二步、添加正则表达式提取器

在之前请求的树形结构里添加后置处理器—>正则表达式提取器,并编辑此提取器。

第三步、后续的HTTP请求

    在后续请求的URL中或者参数中或者响应断言中就可以通过正则表达式提取器中定义的引用名称获取之前请求的指定响应数据了。

你可能感兴趣的文章
深入理解java异常处理机制
查看>>
object类的基本方法
查看>>
回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议
查看>>
Dubbo分布式服务框架入门(附工程)
查看>>
两年Java开发工作经验面试总结
查看>>
作为Java面试官--谈谈一年来的面试总结
查看>>
两年Java程序员面试经
查看>>
面试心得与总结---BAT、网易、蘑菇街
查看>>
如何面试有2年java工作经验的应聘人员
查看>>
Java实现简单的递归操作
查看>>
面试Java程序员需具备的11个技能
查看>>
HashMap 和 HashTable 到底哪不同 ?
查看>>
Java实现简单的递归操作
查看>>
Struts2工作原理和执行流程图
查看>>
在线预览Word,Excel~
查看>>
hibernate延迟加载(get和load的区别)
查看>>
关于文件拷贝效率问题
查看>>
MyBatis分页插件PageHelper的使用
查看>>
【MyBatis学习01】宏观上把握MyBatis框架
查看>>
【MyBatis学习02】走进MyBatis的世界
查看>>