首页 > 其他 > 详细

LoadRunner脚本开发:关联和检查点(二)

时间:2019-11-03 23:39:16      阅读:140      评论:0      收藏:0      [点我收藏+]

一. 录制飞机订票系统前期准备:

1. 启动webTours

  开始 > HP Software > HP LoadRunner > Samples > web > Start HP Web Tours Server

2. 浏览器访问 webTours

  开始 > HP Software > HP LoadRunner > Samples > web > HP web Tours Application

  账户密码:jojo/bean   Jojo/bean

  用户信息文件:E:\programs\HP LoadRunner 12.02 Community Edition\LoadRunner\WebTours\cgi-bin\users

3. 启动 fiddler

4. 启动 virtual user generator

  add new script

    协议:web-http/html、名称

  Record Options  Ctrl + F7

  Recording   Ctrl + R

技术分享图片

 

第一行是密码,第二行是用户名

技术分享图片

或者也可以注册一个

技术分享图片

 

 

二. 了解WebTours功能

首页

  > 左侧:用户登录

  > 右侧:sign up now ==> 注册用户入口

      administration ==> 设置页面

登录

  > Flights ===> 订票航班信息

  > Itineray ===> 订票记录

  > Home

  > Sign off ===> 退出

三. 录制订票Recording

1. Start Recording

  URL address:http://127.0.0.1:1080/WebTours/index.htm

2. 录制

3. Compile  Shift + F5

  语法检查

4. Replay   F5

  回放

技术分享图片

 

 

技术分享图片

 

 

开始登录前,插入事务

技术分享图片

 

 

登录后,结束事务

技术分享图片

 

 

开始订票前,插入事务

技术分享图片

 

 

选择航班信息后,结束事务

技术分享图片

 

 

选择时间点,插入事务

技术分享图片

选择时间后,关闭事务

技术分享图片

 

 

文本检查点

技术分享图片

 

 

插入退出事务

技术分享图片

 

 

关闭事务,停止录制

技术分享图片

 

 

 技术分享图片

 

 

 技术分享图片

系统自动关联后的脚本

/*Correlation comment - Do not change!  Original value=127394.791656541zffcizQpfQfiDDDDDQDVHpcVHfHf‘ Name =‘userSession‘ Type =‘ResponseBased‘*/
    web_reg_save_param_regexp(
        "ParamName=userSession",
        "RegExp=name=\"userSession\"\\ value=\"(.*?)\"/>\\\n<table\\ border",              //这里是一个正则
        SEARCH_FILTERS,
        "Scope=Body",
        "IgnoreRedirections=No",
        "RequestUrl=*/nav.pl*",
        LAST);

技术分享图片

 

 

 技术分享图片

 

四. 回放 Replay

1. Output

  回放日志

    Starting iteration

    红色有错误,回放失败

    Ending iteration

    view summary > The test Results

      Test Results  显示回放内容快照

 

 

F5 回放成功,去掉Summary页面

技术分享图片

 

 

 技术分享图片

 

 

如果又想看到Summary页面,点击Output日志,View summary

技术分享图片

 

 

Test Results中的快照

技术分享图片

 

 

设置迭代  F4

技术分享图片

假设迭代3次,3次之后,可以看到三张票的信息完全一致

技术分享图片

 

 

五. 参数化

为了每次迭代都能得到不同的信息,对城市名称做参数化

选中城市名称,右键,选择Replace with Parameter,然后选择Create New Parameter...

技术分享图片

 

 

变量名称自定义,类型为file,然后点击Properties...配置其他城市名

技术分享图片

 

 

 

 

 

技术分享图片

 

 

技术分享图片

 

 

技术分享图片

技术分享图片

 

用{参数}表示参数化,当然也可以自定义参数化符号

 

技术分享图片

 

 

技术分享图片

 

 

同样,也参数化到达城市

技术分享图片

 

 

迭代3次后,发现3张票都是从Denver到London

技术分享图片

 

 

查看参数化后的变量值,Tools——Options——Scripting——勾选Collect replay statistics

技术分享图片

 

 

可以从Runtime Data中查看参数的变

技术分享图片

 

 

刚刚关联城市没有随机是因为这个地方是固定的,可以猜测021是出发城市id,437是到达城市id,后面是日期时间

技术分享图片

 

 

在选择城市的方法上,右键,选择Show Snapshot,可以看到请求参数和响应结果

技术分享图片

 

 

将响应的html结果拷贝到Notepad++,打开,可以搜索到刚才的021;437;11/03/2019

技术分享图片

也可以去页面里按F12查看

技术分享图片

 

 

这就是关联,前面一个页面的响应结果后面的页面需要,注意这个正则后面有checked=checked,因为后面页面需要的出发到达地点都是已选中的

web_reg_save_param_regexp(
        "ParamName=boundFlight",
        "RegExp=name=\"outboundFlight\" value=\"(.*?)\" checked=\"checked\"",
        SEARCH_FILTERS,
        "Scope=Body",
        "IgnoreRedirections=No",
        "Ordinal=1",                //Ordinal需要添加
        LAST );

技术分享图片

有两个方法需要参数化下

技术分享图片

 

 

技术分享图片

验证结果,可以看到第一组是Denver到Frankfurt,第二组是London到Seattle,第三组是Paris到Sydney,这个其实和jmeter遍历csv是一个道理

技术分享图片

 

 

技术分享图片

 

技术分享图片

 

技术分享图片

六. 函数

1. 加*是必传的

2. web_sumit_data函数是不依赖上下文的,也就是上个页面执行出错,不影响这个函数的执行,web_submit_form也是用于post请求,它是依赖上下文的

 

 

3. web_reg_save_param_regexp 实际上是注册函数,有reg的都是注册函数,web_reg_save_param也是正则函数,LR12推荐使用前者

技术分享图片

4. web_reg_text:查找文本函数

技术分享图片

 

 

LoadRunner脚本开发:关联和检查点(二)

原文:https://www.cnblogs.com/my_captain/p/11784673.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!