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

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

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:查找文本函数

猜你喜欢

转载自www.cnblogs.com/my_captain/p/11784673.html
今日推荐