为什么要关联
在客户端与服务器通信过程中,多个请求/响应间的数据会有相互依赖的关系。比如上一个请求对应的响应数据在后续的请求中需要用到。

下面是一些典型的例子∶

  1. 比如第一次访问网站获取的session id在后续的请求都会将其传给网站;
  2. 服务器生成token返回给用户,在后续的请求中要带上token;
  3. 根据条件查询某记录,在查询结果集中选择记录进行操作(比如删除)

但是有些通信协议是无状态的,不存在上下文相关性.多个请求/响应之间的数据不能直接进行传递;并且每次服务器返回的数据不是一成不变的,传递的数据不能通过硬编码(写死)保存来解决.比如上面三种情况都会产生动态变化的数据∶
1)session id的生命周期一般在关闭浏览器时就结束了,每次打开浏览器访问返回的session id并不相同;
2〕token也有生命周期,一般也是随机,无状态的;
3)若查询条件参数化了或服务器返回的查询结果集改变了,后续的操作可能会失败.
在这些情况下,可以考虑将服务器返回的动态变化的数据保存到某个参数中,需要时再从中取出.

关联原理类比
举个例子,看电影,看电影过程有如下步骤∶ 1.购票 2.验票 3.入场观影
每个步骤可以看做一个请求/响应.观众相当于客户,影院方相当于服务器.


电影票可以看成服务器返回的响应数据,入场时要验票,这个数据要应用到下一个请求.假设这个电影如此精彩,想再看一次,不可能用第一次买的票入场吧,因为票是一次性的.可以做如下假设∶
将购买的电影票放进钱包,并且在放之前将使用过的票丢弃,入场的时,先掏出钱包取出票入场即可.这里钱包就是保存关联数据的参数.

关联的定义
将服务器返回的数据包中满足条件的数据保存到一个参数中的过程。
JMeter中可以使用后置处理器来处理关联数据,常见的方法有∶ 1.正则表达式提取器 2.JSON提取器

需要关联数据的特征
怎样确定哪些数据是需要做关联的,可以从关联数据的特征来识别出这些数据.关联数据有如下三个特征∶
1.服务器返回
需要关联的数据一定是从服务器返回的.
客户端输入的数据不需要进行关联,比如输入的用户名与密码.此特征是必选的.

2. 数据会再次发送给服务器处理
保存上一个请求响应的数据,其目的是为了将其用于下一个请求中,否则保存起来没有意义.此特征是可选特征,也就是说不再次发送也是可以保存数据进行关联的.
3.数据动态变化
上一个请求响应的数据若不会动态变化,完全可以写死在脚本中,不需要花力气额外保存再次取出.正是由于每次返回的数据动态变化,我们需要根据某种规则将这些动态变化的数据找出来保存,然后取出实际返回的数据.但此特征也是可选的.不动态变化一样可以保存进行关联,但意义不大.

什么是关联以及为什么要关联相关推荐

  1. scrum敏捷项目管理工具leangoo卡片关联上线(可关联卡片,看板,项目)

    本次更新,企业版新增卡片关联功能. 卡片关联 在卡片上,用户可以将和任务相关的卡片.看板.脑图.项目关联到任务卡片上,关联后,用户既可以快速查看和此任务相关的信息,也可以快速浏览和访问相关内容,从而简 ...

  2. jpa多表关联查询_JPA【关联查询篇】

    摘要:本文主要介绍JPA的多表关联查询(一对一.一对多.双向关联.多对一.多对多)以及N+1查询的优化. 1. JPA多表关联查询 多表关联查询就是实现使用一个实体类对象操作或者查询多个表的数据. 配 ...

  3. java多对多关联数据操作,hibernate实施多对多关联查询时,关联表数据被删除

    hibernate执行多对多关联查询时,关联表数据被删除 本帖最后由 binbb521 于 2012-12-04 11:48:29 编辑 S2SH框架开发的网站,执行两个多对多关系的表查询时,关联两个 ...

  4. C++primer第十一章 关联容器 11.3关联容器操作 11.4 无序容器

    11.3关联容器操作 除了表9.2(第295页)中列出的类型,关联容器还定义了表11.3中列出的类型.这些类型表示容器关键字和值的类型. 对于set类型,key_type和value type是一样的 ...

  5. Outlook2010怎么关联邮箱 Outlook邮箱关联的教程

    Outlook想要关联自己的邮箱,该怎么关联呢?下面我们就来看看详细的教程. 1.首先我们登录进入我们的Outlook,点击文件-添加账户 Outlook2010怎么关联邮箱? Outlook邮箱关联 ...

  6. hibernate hql 关联查询_Hibernate【关联查询篇】

    1. Hibernate 关联查询 1.1. 说明 Hibernate框架支持通过配置映射关系实现多表关联查询. 1.2. 类型 关联查询分为:一对一(one-to-one).一对多(one-to-m ...

  7. think php5关联模型,thinkphp5中关联模型的定义与使用方法

    定义一对一关联 这里假设你已经把thinkphp5的环境都配置好了,数据库也连接OK了.想通过模型把两张表关联起来然后在通过控制器一调用就可以得到两张表的信息. 现在我准备了两张表,一张管理员表pwn ...

  8. 草图大师怎么取消组件关联_sketchup怎样取消关联?

    右键有"单独处理"这个命令.一般自己画图时都会用"创建群组"而不是"编辑组件",就是"关联"与否的意思www.mh456 ...

  9. 亚马逊卖家账号又被关联了?这些关联因素你应该知道!

    最近快接近旺季了,亚马逊又开始严查各种封号问题,那么如果无法保证账号的安全问题,所以在这里和大家分享一下亚马逊卖家账号被封的一些原因,大家一定要注意这些被封的原因,及时避免! 一.什么是账号关联? 虽 ...

最新文章

  1. java 分班_J 分班(class)(NYIST 2019年校赛)
  2. svc android,在android中,如何使用 Svc WCF服务_android_开发99编程知识库
  3. mysql实型_mysql 数据类型
  4. Mac os x下配置nginx + php
  5. faster rcnn的tensorflow代码的理解
  6. 吴恩达深度学习2.3笔记_Improving Deep Neural Networks_超参数调试 和 Batch Norm
  7. 时间字段加一秒_面试Java后端却问我时间轮(Time Wheel)算法,面试官没想到我看过Dubbo源码!...
  8. Java适合初学者的编写软件分享
  9. 如何设置win7计算机不更新,win7系统不要自动更新的设置步骤(图文)
  10. Linux串口调试总结
  11. PS CS6 打不开RAW格式文件
  12. CSR蓝牙遥控器OTA固件升级
  13. cairo填充_用 cairo 实现跨平台图形
  14. 对未来的工作态度期许
  15. 搭建Ethereum以太坊测试网络Rinkeby节点
  16. 修改linux系统的时间PRC,Ubuntu16.04操作系统环境下修改时区
  17. 计算机的基本键盘知识,知识:计算机键盘上每个键的功能_计算机的基本知识_IT /计算机_信息...
  18. OpenGLES(七)使用GLSL实现滤镜效果之动态滤镜
  19. 2022年西式面点师(中级)上岗证题目及答案
  20. 深富策略是正规合法平台:公私募称市场不具系统性风险

热门文章

  1. CentOS中的目录处理命令
  2. TP-LINK无线路由器屏蔽恶意网站方法
  3. 威士忌(whiskey)
  4. Linux系统中CPU占用率过高问题原因分析
  5. 代码写成这样,老夫无可奈何!
  6. 红旗linux hba卡wwn,HBA卡WWN号查看方法
  7. openGL、D3D、vulkan区别简介
  8. 未来的两马之争,马化腾如何才能打赢马云?
  9. 25、使用Baidu的paddle自动进行验证码的识别、并计算验证码的数值
  10. 清华大学赵明国:AI芯片 +机器人,突破算法瓶颈