- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
在LoadRunner 脚本中使用关联
在LoadRunner 脚本中使用关联
第1页:在LoadRunner 脚本中使用关联
第2页:找到服务器包含该动态值的响应
第3页:3) 捕获动态值
第4页:将脚本中所有出现的动态值都替换为参数
文本Tag: 软件测试 LoadRunner
????????【IT168技术文档】??????? 今天我将解释 LoadRunner 中关联的概念及其使用方法。我认为关联是 LoadRunner 中一个非常关键的概念。对于任何测试工程师而言,如果他想成为 LoadRunner 专家或是宗师,那他必须非常了解何谓关联。 ??? 实战举例: 我为某个网络服务器录制了一段 LoadRunner 脚本。脚本中包含两个特殊的域:时标(timestamp)和校验和(checksum):?????????????????每当一个客户端网络浏览器连接到服务器,服务器就会获得一个当时的时标,再计算出校验和返回至客户端。这两个域是用来确认一次即时的会话。换句话说,一组时标 + 校验和就是会话 ID。以下就是这种交互的图解:?????????????? 问题在哪里呢?让我们再回放一次录制的脚本。 当执行已录制的脚本时,出现了问题。网络服务器用当前时间检验客户端发来的时标。如果客户端的日期是过期的或错误的,服务器就会返回一个错误的信息:参数“校验和”未找到或显示为无效值。 此次交互的图解:???????????? 客户端不能再次使用旧的(即硬编码)的值作为时标和校验和。而必须使用新的日期。所以,LR 脚本应该运行服务器返回的动态数据,而非硬代码。使用关联就能做到这一点:?????????? 关联的定义:关联就是捕获服务器发送给客户端的动态值。 实现关联的方法:1、自动2、手动自动关联会在后文中讲到。但是至今为止,我敢说自动关联并不是最好的解决方法。因为有些时候自动关联会失效,或者错误关联。 一个真正 LoadRunner 工程师会选择使用手动关联。所以说这是“必备”的学问!好吧,让我们来开始探究手动关联。 手动关联的使用法则如下: 找到一个需要捕获的动态值。1) 找到服务器包含该动态值的响应。2) 捕获动态值。使用特定参数取代该动态值。3) 将脚本中所有出现的动态值都替换为参数。4) 检查变化。录制脚本获得时标 校验和时标 = TSnew,校验和 = CSnew网络 服务器开始新一轮会话:TSnew CSnewOK 会话开始客户端解析服务器端响应,并捕获 TSnew CSnew现在,我要开始就每一步进行解释:1) 找到一个需要捕获的动态值???? 我建议先录制并保存两段相同的虚拟脚本。再打开主菜单项中的“Tools / Compare with Scripts...”,用 WDiff 比较这两段录制的脚本:??????? 黄色标出的地方即不同处。意味着每次脚本运行至该处,代码(参数值)就会发生变化。所以,多数情况下,这些值是需要关联的。??????? 提示:有时通过比较可能找不到动态值。那您需要再次确认是否已录制了该段脚本:???????Name=SessionID, Value=A38E9002A41, ENDITEM, Name=CurrentMonthID, Value=4, ENDITEM,?????? 显而易见,那个会话 ID 应该被关联。那 CurrentMonthID 呢?第二次录制的脚本也包含“Value=4”。也有可能您的脚本在四月份是工作正常的(4th month 即四月),而到 5月1日开始就会报错!所以亲爱的读者们要特别小心! 提示:通篇察看您录制的脚本源码。时标、检验和、会话 ID 以及那些不同的 ID 都可能需要被关联。 提示:仔细检查回放(执行)日志,错误可能就在里面。往往脚本错误最普遍的原因就是缺少关联。???? 提示:在可用的运行视图(菜单“Tools / General Options../ Display”)中执行脚本。当出现错误(“Page not found”,“Session timeout”等)就是在暗示可能存在关联。
文档评论(0)