1.什么是关联?

关联是为了获取每次运行脚本的唯一数据值和通过嵌套查询生成的数据。关联提供了避免产生重复数据错误的数值以及优化代码(以避免嵌套查询)。关联是正常回放含有动态数据如Session IDs,Database Primary Keys和差不多所有的HTTP安全机制脚本的根本。关联的目的就是吧脚本中某些hard-coded数据转变成从服务器传过来的动态的,每次执行都不一样的数据。

2.参数(化)和关联的区别

参数(化)相当于代码编写中的变量。是某个变量向服务器输入不同的值,用来模拟真实的用户。运行脚本时,不同的数据集被发送给服务器。只能对某个具体的变量值进行参数化。参数化的对象在回放过程中即时没有被参数化也不会报错,只是像服务器输入了相同的值。但是关联的对象在回放过程中如果没有做关联,回放过程中就会报错。关联是对系统的动态数据(每次运行脚本都会变化的值,是从服务器传过来的)进行。简单的说,每一次执行时都会变动的值,就有可能需要做关联。

3.动态关联和手工关联的区别

动态关联是我们为关联设置规则,可以是具体的应用程序服务,这里的数据由所创建的规则替代。在手工关联中,我们想要关联的数值被扫描并且编写关联函数完成关联。VuGen内建自动关联引擎(auto-correlation engine),可以自动找出需要关联的值,并可以利用关联函数自动建立关联。

手动关联需要自行查找关联的对象,然后自行插入关联函数。

4.如何发现哪里需要关联?

两种方式:首先回放扫描不同的值然后看哪些值需要关联。其次,我们可以录制2个脚本然后作比较。我们可以查看不同的文件决定需要关联的数据。在我实践的某个项目中,为每个用户提供一个唯一的ID,一个不确定的数字,是自动生成的,有序且值唯一。我需要关联这个ID值以防止在运行脚本是出现错误。我用的是扫描的方式关联。

5.在哪里设置自动关联选项?

网页自动关联可以在recording options -->correlation tab栏设置。这里可以为全部脚本设置关联并选择是在线问题信息还是离线actions,我们也可为这些关联定义规则。数据库的自动关联可以用输出窗口、关联扫描、找关联查询项并选择要关联的查询值。如果知道需要关联的具体值,只需要为这些值创建关联并指定这些值是如何创建的。

6.在网页录制脚本中,什么函数能捕获动态数据?

Web_reg_save_param函数可以将动态数据信息保存到一个参数中。

Web_reg_save_param函数语法:

int web_reg_save_param (const char *mpszParamName, , LAST);

以下表格列出了可获取到的属性.注意属性值字符串没有大小写区分(例如:Search=all)NotFound边界找不到或空字符串生成时的处理方法。默认值为“Error”,说明当边界值找不到时,VuGen可以作为一个错误提出。当设置为“EMPTY”,没有错误信息提出脚本继续执行。注意:如果脚本设置了Continue on Error项,则当边界值没有找到时,脚本也会继续执行,但会早Extend log文件中输出一个错误信息

LB参数或动态数据的左边界。该参数必须是非空字符串。区分大小写。如果想忽略大小写,则用LB/IC。如果要指定二进制数据用LB/BIN

RB参数或动态数据的右边界。该参数必须是非空字符串。区分大小写。如果不想区分大小写,则用RB/IC。如果要指定二进制数据用RB/BIN

RelFrameID相对于请求的URL,HTML页面的层次(hierarchy level)。可以是All或者是一个数字

Search查询的范围—去哪里查看分割数据。可选值有:Headers (search only the headers), Body (search only Body data, not headers), or ALL (search Body and headers)。默认值是ALL。

ORD可选参数。指定匹配项的顺序或出现数(the ordinal or occurrence number of the match)。默认值为1,如果指定是“ALL”,则将参数值保存在一个数值里。

SaveOffsetThe offset of a sub-string of the found value, to save to the parameter. The default is 0. The offset value must be non-negative.

SavelenThe length of a sub-string of the found value, from the specified offset, to save to the parameter. The default is -1, indicating until the end of the string.

ConvertThe conversion method to apply to the data:

HTML_TO_URL: convert HTML-encoded data to a URL-encoded data format

HTML_TO_TEXT: convert HTML-encoded data to plain text format

7.HTML页面中的动态数据可能存在于:

每次获取相关网页都变化的URL

在form提交过程中录制的字段(有时是隐藏的)

JavaScritpt cookies

第1种情况:

录制时,假设点击“buy me now!”文字的超链接,VuGen录制的URL是:因为date "170397"和ID "1234"是在录制过程中自动生成的,每一次新的浏览会话重新生成新的date和ID。当运行脚本时,“Buy me now!”链接的URL不再是录制时的URL而是一个新的了。因此,URL。

第2种情况

考虑一种情形:提交一个用户填写了他的姓名和帐号ID的form。当这个form提交时,一个唯一的序列号和该用户的数据同时也一起提交给了服务器。这个序列号是HTML代码中一个隐藏字段的值,被VuGen录制到了脚本中。因为这个序列号在每次浏览会话中都会变,所以Vuser不能成功回放录制的脚本。

8.如果右界不一致,指定一个右边界是不够的,需要指定可选右边界。因为它不一致---例如有时是”@”有时是“&”。这种情况下,指定&为可选择的右边界。

动态服务器值 回放报错 没有关联到_LR关联(带附件) - 缺1份淡定ㄣ - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...相关推荐

  1. 动态服务器值 回放报错 没有关联到_性能测试每天两个知识点-web性能脚本回放不成功的解决方法...

    性能测试过程中,绝大部分项目都是web项目的性能测试,而对于大部分性能测试人员认为web项目就是录制脚本,然后修改脚本回放,所有好多人认为性能测试没有难度就是录脚本 ,其实好多性能测试人员也没搞清楚录 ...

  2. 南柯服务器压力,性能测试的数据解释及分析 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    顾名思义,测试服务(服务,服务,其他网络应用服务,本地服务)的性能如何?如何衡量性能?最表面的无非就是看能支撑多少个用户同时使用该服务.且关注用户使用过程中的用户体验. U.^*A+Mb6{*z@0T ...

  3. web服务器稳定测试,web服务器测试脚本 - 漂浮 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    51Testing软件测试网ci#P'Xe| 借鉴 #!/bin/sh ################################################################ ...

  4. 南柯服务器压力,性能/负载/压力测试 - Mr.南柯 - 51Testing软件测试网 51Testing软件测试网-软件测试人的精神家园...

    在面试测试人员的时候,这是一个很好的问题:你如何定义性能/负载/压力测试?在很多时候,人们都是将它们作为可互相替换的相同术语来使用,然而实际上他们之间的差异是比较大的.这个贴子是根据我自己的一些经验, ...

  5. python modulenotfounderror_python 服务器运行代码报错ModuleNotFoundError的解决办法

    一.问题描述 一段 Python 代码在本地的 IDE 上运行正常,部署到服务器运行后,出现了 ModuleNotFoundError: No module named 'xxx" 错误. ...

  6. linux服务器断电后系统报错,Linux服务器开机启动报错.docx

    Linux服务器开机启动报错 问题描述:重启机房服务器 119 开机的时候卡在这里吗,重启后还是卡这里.问题分析:由于前一段时间,tomcat服务的一个错误代码导致CPU一直接近100% 运行,并且在 ...

  7. java连服务器mysql报错_tomcat程序连接服务器mysql数据库报错

    tomcat程序连接服务器mysql数据库,报 错误,后来用java程序直接连接数据库,发现可以连得上,可以操作数据库, 在网上查了设置数据库连接等待时间(wait_timeout)设置,也没用. 奇 ...

  8. Django启动服务器时,报错mysql的2059错误的原因。

    当启动django自带的服务器时,报错2059: > _mysql_exceptions.OperationalError: (2059, ) > django.db.utils.Oper ...

  9. 工作286:v-model没有值会报错

    </span></el-row><el-form-item label="刊例价"><span>¥</span> {{ ...

  10. 映射内网ftp服务器到公网报错问题解决

    这两天公司测试环境有个需求要让合作方通过ftp推送数据,一般内网环境是不会对公网开放ftp服务的,但是因为是临时需求就帮着搭了ftp服务,并且做了公网映射.ftp服务搭好之后在内网访问正常,但是在公网 ...

最新文章

  1. 200米外遥测心跳确定身份,五角大楼全新黑科技,比人脸识别更准、伪装也没用...
  2. 实践案例丨云连接CC实现跨区域多VPC与线下IDC Server互联
  3. solid 铝型材框架_solidworks铝型材库
  4. java des 0填充方式_DES填充方式与初始向量IV的作用
  5. tomcat端口被占用的两个解决方法
  6. 静态代理,动态代理,Cglib代理详解
  7. linux 查看 java 进程内存占用情况
  8. vscode 经常弹出unins000.exe报错,尝试在目标目录创造文件时发生错误 重试 跳过这个文件 关闭安装程序
  9. 数据中台之数据集成平台的数据抽取
  10. Web前端——CSS基础样式
  11. python画图代码太阳花七行代码_写代码并不枯燥“用Python几行代码教你画出太阳花”...
  12. 什么是“秒杀”?为什么传统项目中也有“秒杀”的概念?一起来分析一下.
  13. jQuery 任意公历转为农历
  14. Pwn2Own:浏览器血雨腥风独活Chrome 智能手机波澜不惊单挂iphone
  15. OCP-1Z0-051 第61题 where通配符
  16. causalml 因果推断
  17. 搜索引擎的原理,架构与细节
  18. 共勉。怎么摆脱习惯性刷手机的习惯?
  19. 车削加工参数优化切削参数 ( 切削速度、进给量、背吃刀量) 对表面粗糙度的影响
  20. anaconda安装-超详细版

热门文章

  1. 数模电路基础知识 —— 3. 常见电路符号说明(电容、电阻、电感)
  2. word 方框中插入对号、错号符号
  3. 随机过程知识点学习与总结
  4. Python数值和偏微分方程解
  5. php生成手写字,钢笔手写体生成工具(PHP)V1.0[原创]
  6. 手写体识别识别(pytorch):
  7. jmeter的HTTP请求
  8. Microsoft Visual Studio 2010(vs2010) 中文版安装
  9. 荣耀V10什么时候升级鸿蒙,华为非常良心,荣耀V10用户迎来更新,2.08M补丁包优化稳定性...
  10. [深度数据]·深度学习数据集大全