我的LoadRunner的初学者,还请各位前辈多多指教

发布新日志

  • 有史以来最全的LR中文教程

    2007-04-06 18:40:07

  • 性能分析的几个指标(参考)

    2007-04-06 18:28:14

  • 如何在LoadRunner脚本中做关联

    2007-04-06 13:54:03

    在论坛上找到的

    如何在 LoadRunner 脚本中做关联 (Correlation)

    当录制脚本时,VuGen会拦截client端(浏览器)与server端(网站服务器)之间的对话,并且通通记录下来,产生脚本。在VuGenRecording Log中,您可以找到浏览器与服务器之间所有的对话,包含通讯内容、日期、时间、浏览器的请求、服务器的响应内容等等。脚本和Recording Log最大的差别在于,脚本只记录了client端要对server端所说的话,而Recording Log则是完整纪录二者的对话。

    当执行脚本时,您可以把VuGen想象成是一个演员,它伪装成浏览器,然后根据脚本,把当初真的浏览器所说过的话,再对网站伺服器重新说一遍,VuGen企图骗过服务器,让服务器以为它就是当初的浏览器,然后把网站内容传送给VuGen

    所以纪录在脚本中要跟服务器所说的话,完全与当初录制时所说的一样,是写死的(hard-coded)。这样的作法在遇到有些比较聪明的服务器时,还是会失效。这时就需要透过「关联(correlation)」的做法来让VuGen可以再次成功地骗过服务器。

    何谓关联(correlation)?

    所谓的关联(correlation)就是把脚本中某些写死的(hard-coded)数据,转变成是撷取自服务器所送的、动态的、每次都不一样的数据。

    举一个常见的例子,刚刚提到有些比较聪明的服务器,这些服务器在每个浏览器第一次跟它要数据时,都会在数据中夹带一个唯一的辨识码,接下来就会利用这个辨识码来辨识跟它要数据的是不是同一个浏览器。一般称这个辨识码为Session ID。对于每个新的交易,服务器都会产生新的Session ID给浏览器。这也就是为什么执行脚本会失败的原因,因为VuGen还是用旧的Session ID向服务器要数据,服务器会发现这个Session ID是失效的或是它根本不认识这个Session ID,当然就不会传送正确的网页数据给VuGen了。

    下面的图示说明了这样的情形:

    当录制脚本时,浏览器送出网页A的请求,服务器将网页A的内容传送给浏览器,并且夹带了一个ID=123的数据,当浏览器再送出网页B的情求时,这时就要用到ID=123的数据,服务器才会认为这是合法的请求,并且把网页B的内容送回给浏览器。

    在执行脚本时会发生什么状况?浏览器再送出网页B的请求时,用的还是当初录制的ID=123的数据,而不是用服务器新给的ID=456,整个脚本的执行就会失败。

    要对付这种服务器,我们必须想办法找出这个Session ID到底是什么、位于何处,然后把它撷取下来,放到某个参数中,并且取代掉脚本中有用到Session ID的部份,这样就可以成功骗过服务器,正确地完成整个交易了。

    哪些错误代表着我应该做关联(correlation)?

    假如脚本需要关联(correlation),在还没做之前是不会执行通过的,也就是说会有错误讯息发生。不过,很不幸地,并没有任何特定的错误讯息是和关联(correlation)有关系的。会出现什么错误讯息,与系统实做的错误处理机制有关。错误讯息有可能会提醒您要重新登入,但是也有可能直接就显示HTTP 404的错误讯息。

    要如何做关联(correlation)?

    关联(correlation)函数

    关联(correlation)会用到下列的函数:

    • web_reg_save_param:这是最新版,也是最常用来做关联(correlation)的函数。
      语法:
      web_reg_save_param ( “Parameter Name” , < list of Attributes >, LAST );
    • web_create_html_paramweb_create_html_param_ex:这二个函数主要是保留作为向前兼容的目的的。建议使用 web_reg_save_param 函数。

    详细用法请参考使用手册。在VuGen中点选【Help>Function reference>Contexts>Web and Wireless Vuser Functions>Correlation Functions】。

    如何找出要关联(correlation)数据

    简单的说,每一次执行时都会变动的值,就有可能需要做关联(correlation)。

    VuGen提供二种方式帮助您找出需要做关联(correlation)的值:

    1. 自动关联
    2. 手动关联

    自动关联

    VuGen内建自动关联引擎(auto-correlation engine),可以自动找出需要关联的值,并且自动使用关联函数建立关联。

    自动关联提供下列二种机制:

    • Rules Correlation:在录制过程中VuGen会根据订定的规则,实时自动找出要关联的值。规则来源有两种:
      • 内建(Built-in Correlation
        VuGen
        已经针对常用的一些应用系统,如AribaBuyerBlueMartiniBroadVisionInterStagemySAPNetDynamicsOraclePeopleSoftSiebelSilverJRunner等,内建关联规则,这些应用系统可能会有一种以上的关联规则。您可以在【Recording Options>Internet Protocol>Correlation】中启用关联规则,则当录制这些应用系统的脚本时,VuGen会在脚本中自动建立关联。
        您也可以在【Recording Options>Internet Protocol>Correlation】检视每个关联规则的定义。
      • 使用者自订(User-defined Rules Correlation
        除了内建的关联规则之外,使用者也可以自订关联规则。您可以在【Recording Options>Internet Protocol>Correlation】建立新的关联规则。
    • Correlation Studio:有别于Rules CorrelationCorrelation Studio则是在执行脚本后才会建立关联,也就是说当录制完脚本后,脚本至少须被执行过一次,Correlation Studio才会作用。Correlation Studio会尝试找出录制时与执行时,服务器响应内容的差异部分,藉以找出需要关联的数据,并建立关联。

    Rule Correlation

    请依照以下步骤使用Rule Correlation

    1. 启用auto-correlation
      1. 点选VuGen的【Tools>Recording Options】,开启【Recording Options】对话窗口,选取【Internet Protocol>Correlation】,勾选【Enable correlation during recording】,以启用自动关联。
      2. 假如录制的应用系统属于内建关联规则的系统,如AribaBuyerBlueMartiniBroadVisionInterStagemySAPNetDynamicsOraclePeopleSoftSiebelSilverJRunner等,请勾选相对应的应用系统。
      3. 或者也可以针对录制的应用系统加入新的关联规则,此即为使用者自订的关联规则。
      4. 设定当VuGen侦测到符合关联规则的数据时,要如何处理:
        • Issue a pop-up message and let me decide online】:跳出一个讯息对话窗口,询问您是否要建立关联。
        • Perform correlation in sceipt】:直接自动建立关联
    2. 录制脚本
      开始录制脚本,在录制过程中,当VuGen侦测到符合关联规则的数据时,会依照设定建立关联,您会在脚本中看到类似以下的脚本,此为BroadVision应用系统建立关联的例子,在脚本批注部分可以看到关联前的数据为何。

    1. 执行脚本验证关联是OK的。

    Correlation Studio

    当录制的应用系统不属于VuGen预设支持的应用系统时,Rule Correlation可能既无法发挥作用,这时可以利用Correlation Studio来做关联。

    Correlation Studio会尝试找出录制时与执行时,服务器响应内容的差异部分,藉以找出需要关联的数据,并建立关联。

    使用Correlation Studio的步骤如下:

    1. 录制脚本并执行
    2. 执行完毕后,VuGen会跳出下面的【Scan Action for Correlation】窗口,询问您是否要扫描脚本并建立关联,按下【Yes】按钮。
    3. 查看(579) 评论(0) 收藏 分享 管理

    4. LoadRunner 函数

      2007-04-06 13:47:15

      LoadRunner函数小全
       
      常用的LoadRunner函数,供参考。
      LR函数:

      lr_start_transaction 为性能分析标记事务的开始

      lr_end_transaction 为性能分析标记事务的结束

      lr_rendezvous 在 Vuser 脚本中设置集合点

      lr_think_time 暂停 Vuser 脚本中命令之间的执行

      lr_end_sub_transaction 标记子事务的结束以便进行性能分析

      lr_end_transaction 标记 LoadRunner 事务的结束

      Lr_end_transaction("trans1",Lr_auto);

      lr_end_transaction_instance 标记事务实例的结束以便进行性能分析

      lr_fail_trans_with_error 将打开事务的状态设置为 LR_FAIL 并发送错误消息

      lr_get_trans_instance_duration 获取事务实例的持续时间(由它的句柄指定)

      lr_get_trans_instance_wasted_time 获取事务实例浪费的时间(由它的句柄指定)

      lr_get_transaction_duration 获取事务的持续时间(按事务的名称)

      lr_get_transaction_think_time 获取事务的思考时间(按事务的名称)

      lr_get_transaction_wasted_time 获取事务浪费的时间(按事务的名称)

      lr_resume_transaction 继续收集事务数据以便进行性能分析

      lr_resume_transaction_instance 继续收集事务实例数据以便进行性能分析

      lr_set_transaction_instance_status 设置事务实例的状态

      lr_set_transaction_status 设置打开事务的状态

      lr_set_transaction_status_by_name 设置事务的状态

      lr_start_sub_transaction 标记子事务的开始

      lr_start_transaction 标记事务的开始

      Lr_start_transaction("trans1");

      lr_start_transaction_instance 启动嵌套事务(由它的父事务的句柄指定)

      lr_stop_transaction 停止事务数据的收集

      lr_stop_transaction_instance 停止事务(由它的句柄指定)数据的收集

      lr_wasted_time 消除所有打开事务浪费的时间

      lr_get_attrib_double 检索脚本命令行中使用的 double 类型变量

      lr_get_attrib_long 检索脚本命令行中使用的 long 类型变量

      lr_get_attrib_string 检索脚本命令行中使用的字符串

      lr_user_data_point 记录用户定义的数据示例

      lr_whoami 将有关 Vuser 脚本的信息返回给 Vuser 脚本

      lr_get_host_name 返回执行 Vuser 脚本的主机名

      lr_get_master_host_name 返回运行 LoadRunner Controller 的计算机名

      lr_eval_string 用参数的当前值替换参数

      lr_save_string 将以 NULL 结尾的字符串保存到参数中

      lr_save_var 将变长字符串保存到参数中

      lr_save_datetime 将当前日期和时间保存到参数中

      lr _advance_param 前进到下一个可用参数

      lr _decrypt 解密已编码的字符串

      lr_eval_string_ext 检索指向包含参数数据的缓冲区的指针

      lr_eval_string_ext_free释放由 lr_eval_string_ext 分配的指针

      lr_save_searched_string 在缓冲区中搜索字符串实例,并相对于该字符串实例,将该缓冲区的一部分保存到参数中

      lr_debug_message 将调试信息发送到输出窗口

      lr_error_message将错误消息发送到输出窗口

      lr_get_debug_message 检索当前消息类

      lr_log_message 将消息发送到日志文件

      lr_output_message 将消息发送到输出窗口

      lr_set_debug_message 设置调试消息类

      lr_vuser_status_message 生成带格式的输出,并将其写到 ControllerVuser 状态区域

      lr_message 将消息发送到 Vuser 日志和输出窗口

      lr_load_dll 加载外部 DLL

      lr_peek_events 指明可以暂停 Vuser 脚本执行的位置

      lr_think_time 暂停脚本的执行,以模拟思考时间(实际用户在操作之间暂停以进行思考的时间)

      lr_continue_on_error 指定处理错误的方法

      lr_continue_on_error (0);lr_continue_on_error (1);

      lr_rendezvous在 Vuser 脚本中设置集合点

      TE_wait_cursor 等待光标出现在终端窗口的指定位置

      TE_wait_silent 等待客户端应用程序在指定秒数内处于静默状态

      TE_wait_sync 等待系统从 X-SYSTEM 或输入禁止模式返回

      TE_wait_text 等待字符串出现在指定位置

      TE_wait_sync_transaction 记录系统在最近的 X SYSTEM 模式下保持的时间


      WEB函数列表:

      web_custom_request 允许您使用 HTTP 支持的任何方法来创建自定义 HTTP 请求

      web_image 在定义的图像上模拟鼠标单击

      web_link 在定义的文本链接上模拟鼠标单击

      web_submit_data 执行“无条件”或“无上下文”的表单

      web_submit_form 模拟表单的提交

      web_url 加载由“URL”属性指定的 URL

      web_set_certificate 使 Vuser 使用在 Internet Explorer 注册表中列出的特定证书

      web_set_certificate_ex指定证书和密钥文件的位置和格式信息

      web_set_user 指定 Web 服务器的登录字符串和密码,用于 Web 服务器上已验证用户身份的区域

      web_cache_cleanup清除缓存模拟程序的内容

      web_find 在 HTML 页内搜索指定的文本字符串

      web_global_verification 在所有后面的 HTTP 请求中搜索文本字符串

      web_image_check验证指定的图像是否存在于 HTML页内

      web_reg_find 在后面的 HTTP 请求中注册对 HTML源或原始缓冲区中文本字符串的搜索

      web_disable_keep_alive 禁用 Keep-Alive HTTP 连接

      web_enable_keep_alive 启用 Keep-Alive HTTP 连接

      web_set_connections_limit 设置 Vuser 在运行脚本时可以同时打开连接的最大数目

      web_concurrent_end 标记并发组的结束

      web_concurrent_start 标记并发组的开始

      web_add_cookie 添加新的 Cookie 或修改现有的 Cookie

      web_cleanup_cookies 删除当前由 Vuser 存储的所有 Cookie

      web_remove_cookie 删除指定的 Cookie

      web_create_html_param 将 HTML 页上的动态信息保存到参数中。(LR 6.5 及更低版本)

      web_create_html_param_ex 基于包含在 HTML 页内的动态信息创建参数(使用嵌入边界)(LR 6.5 及更低版本)。

      web_reg_save_param 基于包含在 HTML 页内的动态信息创建参数(不使用嵌入边界)

      web_set_max_html_param_len 设置已检索的动态 HTML 信息的最大长度

      web_add_filter 设置在下载时包括或排除 URL 的条件

      web_add_auto_filter 设置在下载时包括或排除 URL 的条件

      web_remove_auto_filter 禁用对下载内容的筛选

      web_add_auto_header 向所有后面的 HTTP 请求中添加自定义标头

      web_add_header 向下一个 HTTP 请求中添加自定义标头

      web_cleanup_auto_headers 停止向后面的 HTTP 请求中添加自定义标头

      web_remove_auto_header 停止向后面的 HTTP 请求中添加特定的标头

      web_revert_auto_header 停止向后面的 HTTP 请求中添加特定的标头,但是生成隐性标头

      web_save_header 将请求和响应标头保存到变量中

      web_set_proxy 指定将所有后面的 HTTP 请求定向到指定的代理服务器

      web_set_proxy_bypass 指定 Vuser 直接访问(即不通过指定的代理服务器访问)的服务器列表

      web_set_proxy_bypass_local 指定 Vuser 对于本地 (Intranet) 地址是否应该避开代理服务器

      web_set_secure_proxy 指定将所有后面的 HTTP 请求定向到服务器

      web_set_max_retries 设置操作步骤的最大重试次数

      web_set_timeout 指定 Vuser 等待执行指定任务的最长时间

      web_convert_param 将 HTML 参数转换成 URL 或纯文本

      web_get_int_property 返回有关上一个 HTTP 请求的特定信息

      web_report_data_point 指定数据点并将其添加到测试结果中

      web_set_option 在非 HTML 资源的编码、重定向和下载区域中设置 Web 选项

      web_set_sockets_option 设置套接字的选项
       
    5. WinDiff的下载地址

      2007-04-06 13:45:11

      Windiff下载地址 http://www.foodmate.net/alibaba/ziliao/sort/3/2925.html

         (以下内容来自网络)Windows的文件比较工具WinDiff 

          在Windows的安装盘中都有一些附带的工具,默认情况下这些工具是不会被安装的,你需要手工进行安装。在这些工具中就有可以进行文件比较的工具WinDiff,它用图形方式显示比较的结果,方便又直观。

          如何安装

          不同Windows版本下WinDiff工具的安装是不相同的。在Win98中,进入光盘 oolseskitfile目录,拷贝gutils.dll、windiff.exe、windiff.hlp三个文件到任意目录即可运行;在Win2000/XP中,进入光盘support\tools目录中,打开support.cab数据包,将其中的“Windiff.exe”和“Gutils.dll”这2个文件解压到任意文件夹中。如果需要联机帮助,可以将“Windiff.hlp”帮助文件一起解压缩即可。直接运行其中的“Windiff.exe”文件就能启动WinDiff。

          使用比较

          WinDiff不仅可以进行文件的比较,同时还可以进行目录的比较。进行目录比较很简单,选择其主菜单“File/Compare Directories”,在其中输入需要比较的目录位置,其中选中“Include subdirectories”将对子目录进行比较。


          WinDiff用不同的颜色来表示文件之间的差异,红色表示两者之间存在区别,而黑色表示多种情况,你需要查看后面的说明来判断。其中,identical表示两个文件完全相同;different表示两个文件不相同;only in表示仅在某个目录中存在该文件,还有一些说明你可以查看帮助文件,在这里就不逐一说明了。并且你还可以通过调整“Options”中的设置显示不同的内容,例如“Show Identical Files”显示相同的文件;“Show Different Files”显示不同的文件等等,利用这些设置可以进行必要的筛选。

          在文件列表中点击不相同的文件,就可以打开具体内容的比较窗口,当然你也可以通过主菜单“File/Compare Files”只进行两个文件的比较。同样在具体内容的比较窗口中也是通过颜色来进行区分,其中黑色表示内容相同,用红色和黄色分别表示文件之间的差异。同样你也可以通过调整菜单来对显示的内容进行筛选,这些设置主要在“Expand”中,具体左右内容以及编号的显示。

          
          在比较的同时,你也可以对文件进行编辑。选择主菜单“Edit”中的相关选项,分别对左右文件和比较内容进行编辑。如果你需要调用其它的编辑器进行编辑,那么需要在“Edit/Set Editor”进行设置。

          WinDiff同时也支持命令行方式,在运行时加上“/?”参数就可以显示具体的参数,注意参数之间要加上空格,这样你可以直接用命令行方式进行比较。

          总的来说WinDiff的使用比较简单,可以说它是命令行方式比较的一种扩展,毕竟图形方式要直观得多。

          WinDiff 使用命令行的详细语法如下:

        windiff path1 [path2] [-D] [-O] [-N name] [-S [options] savefile] [-F [options] comp_savefile]

          参数以及说明:

        path1 path2
        进行比较的文件路径。

        -D
        只在一个目录内进行比较。

        -O
        摘要显示比较结果。

        -N name
        这个参数用来在文件比较结束之后发出(比较结果的)通知。name 是用网络发送通知时的文件名称。

        -S options
        保存所有文件列表的选项,具体的选项开关可以参考下面的字符:
         -s: 比较在同一路径中的两个文件。
         -l: 只比较第一个路径中的文件(位于最左边的一个)。
         -r: 只比较第二个路径中的文件(位于最右边的一个)。
         -d: 比较位于不同路径中的两个文件。

        savefile
        用来指定写入比较结果的文件名字
       


          -F options
        保存(结果)文件的可使用选项如下:
         -i: 在两个路径中保存相同的文件。
         -l: 仅在第一个文件所在的路径保存文件。
         -r: 仅在第二个文件所在的路径中保存文件。
         -f: 仅保存左移文件。
         -g: 仅保存右移移文件。
         -s: 仅保存类似与左边的文件。
         -a: 仅保存类似与右边的文件。

        这里的左边和右边是指相比较的两个文件而言的,例如比较的两个文件是:filename1 filename2,则filename1就是左边, filename2就是右边。

        comp_savefile
        所得的比较结果需要保存在一个文件中,savefile 就是这个文件名称。

        为比较结果中的不同项目,可使用的背景颜色选择如下:等号左边是颜色,右边是对应于该颜色的项目。

        red background = left file
        yellow background = right file
        blue text = moved line
        black text = everything else


        由于不论在CMD命令控制台中还是直接在windows2000中启动WinDiff,出现的都是图形的界面,所以,下面介绍命令行的部分提到菜单等名词是正常的。对于使用WinDiff的命令行进行文件比较,主要掌握的原则是:

        1. 调用WinDiff,但没有指定参与比较的文件的路径path1 path2时,可以以鼠标从File菜单中点击Compare Files或 Compare Directories 来指定用来比较的文件或目录。
        2. 调用WinDiff,仅明确指出了位于路径path1中的文件。并未指定path2的文件名称,则WinDiff将拿当前目录中的与已经指定文件同名的文件进行比较。
        3. 仿照上面,调用WinDiff,仅明确指出了path1的目录路径。并未指定path2的的目录,则WinDiff将拿当前目录中的文件与已经指定的目录文件进行比较。
        4. 调用WinDiff,明确指出了位于路径path1和 path2中的文件名称和路径, WinDiff将对这两个文件进行比较。

        仿照上面一步,调用WinDiff,明确指出了位于路径path1和 path2目录, WinDiff将对这两个目录中的文件进行比较。

        由于命令行启动之后仍然显示图形界面,所以,这些参数的实际用处不是很大。要从实用性和方便性两下权衡对WinDiff的操作,应当学会掌握图形界面下的文件比较的操作。 
       

    6. LoadRunner IP Spoofer

      2007-04-06 13:43:34

      1. Open Control Panel>> Network Connections
      2. Open the loacal area connection properties, select Internet protocol(TCP/IP), then edit the properties: IP address,Subnet mask, default gateway
      3. Go to Start>Loadrunner> Tools> IP Wizard
      If first time use, select create new settings>then click next>input the web server IP adress>click next, then add click finish button
    7. LoadRunner

      2007-04-06 13:30:36

      今天终于开通了我的个人空间,以前总找不到地方纪录学习loadrunner遇到的问题,现在终于有个这片天地

我的存档

数据统计

  • 访问量: 4341
  • 日志数: 7
  • 建立时间: 2007-04-06
  • 更新时间: 2007-04-06

RSS订阅

Open Toolbar