LR之关联

2018-11-30

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”,则将参数值保存在一个数值里。

SaveOffset

The 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.

Savelen

The 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.

Convert

The 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是:http://host//cgi-bin/purchase.cgi?date=170397&ID=1234因为date "170397"和 ID "1234"是在录制过程中自动生成的,每一次新的浏览会话重新生成新的date和ID。当运行脚本时,“Buy me now!”链接的URL不再是录制时的URL而是一个新的了。因此,Web服务器不能重新获得URL。

第2种情况

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

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

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。

http://www.pinlue.com/style/images/nopic.gif

动态服务器值 回放报错 没有关联到_LR之关联相关推荐

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

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

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

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

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

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

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

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

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

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

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

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

  7. android线程改变布局,Android线程中设置控件的值提示报错的解决方法

    本文实例讲述了Android线程中设置控件的值提示报错的解决方法.分享给大家供大家参考,具体如下: 在Android线程中设置控件的值一般会与Handler联合使用,如下: package com.y ...

  8. 最近在做支付宝支付,在本地测试一切正常,上传到服务器就遇到报错:

    最近在做支付宝支付,在本地测试一切正常,上传到服务器就遇到报错: Warning: openssl_sign() [function.openssl-sign]: Unknown signature ...

  9. 华为服务器自检信息怎么开,hp服务器开机自检报错提示

    hp服务器开机自检报错提示 内容精选 换一换 重置弹性云服务器管理帐号(root用户或Administrator用户)的密码.默认无符合安全要求的密码复杂度检查,非安全密码输入后,无错误提示.使用此A ...

  10. dell服务器报错信息,DELL 服务器LED屏报错信息 2012版

    DELL 服务器LED屏报错信息 error. Contact support E2110 置中. 请参阅内存模块一般安装原 则.请参阅获得帮助. Multibit Error on DIMM 插槽& ...

最新文章

  1. C#中将dll汇入exe,并加壳
  2. 页面调度框架 justep.Shell
  3. 终端安全工具 gartner 排名
  4. Ext 3.0 +ASP.NET2.0 可视化开发介绍
  5. FBV(function base views) 顾名思义基于函数的视图类 CBV(class base views)基于类的视图类
  6. oracle设置打印机,使用 Oracle Solaris 打印管理器设置网络连接的打印机
  7. ubuntu怎么安装python3操作系统32_ubuntu系统下安装python3
  8. 【Web API系列教程】3.10 — 实战:处理数据(公布App到Azure App Service)
  9. 装错信封输出所有结果C语言算法,装错信封问题(数学应用题)
  10. [转载]对于WebGrid第三方控件的使用
  11. 电脑开机显示器不显示BIOS界面,直接进入系统解决办法
  12. 实时控制软件开发第二次作业总结
  13. [笔记]-后端学习笔记
  14. 北京大学肖臻老师《区块链技术与应用》公开课笔记17——ETH数据结构篇1(状态树1)
  15. Linux--解决上cf慢的问题(通过修改hosts)
  16. 普罗米修斯 软件_Prometheus普罗米修斯
  17. Chu-LiuEdmonds算法之无环解析
  18. mysql- 数据库的6种日志:错误日志、通用日志、慢日志、二进制日志、redo log、undo log
  19. uni-app 111发送表情包功能
  20. 6360: 词韵(字典树,DP)

热门文章

  1. 网络规划设计师教程知识点精讲之计算机网络分类
  2. python pandas读取txt文件_Pandas 读取txt
  3. [C语言]切比雪夫多项式,并写入到文件中
  4. 星外系统更换短信接口
  5. 清零软件解决连供打印机喷嘴断墨和堵塞
  6. CVE-2017-11882:Microsoft office 公式编辑器 font name 字段栈溢出通杀漏洞调试分析
  7. 06-Docker数据管理实践
  8. 计算机硬件相关专业学校,计算机硬件相关专业有哪些
  9. linux免杀工具,kali 免杀工具shellter安装以及使用
  10. Java Web 项目基于IDEA的增量补丁打包插件