一. 录制飞机订票系统前期准备:
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 ===> 订票记录
> 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);
这就是关联,前面一个页面的响应结果后面的页面需要,注意这个正则后面有checked=checked,因为后面页面需要的出发到达地点都是已选中的。关联的时候,关联函数要放在前面页面函数的前面,如B依赖A,关联函数要放在A前面。
以web_reg开头的函数都是注册函数,要写在被提取函数的前面
web_reg_save_param_regexp(
"ParamName=boundFlight",
"RegExp=name=\"outboundFlight\" value=\"(.*?)\" checked=\"checked\"",
SEARCH_FILTERS,
"Scope=Body",
"IgnoreRedirections=No",
"Ordinal=1", //Ordinal需要添加
LAST );
有两个方法需要参数化下
int web_url( const char *StepName, const char *url, <List of Attributes>,
[EXTRARES, <List of Resource Attributes>,] LAST );
const char
*
StepName,const char
*
url:必要参数
<
List of
Attributes
>
:属性参数,可以写多个也可以不写,可选
[EXTRARES, ]
:扩展参数,可选
LAST
:结束标记
符
Example:可以直接修改案例内容
2. web_sumit_data函数是不依赖上下文的,也就是上个页面执行出错,不影响这个函数的执行,web_submit_form也是用于post请求,它是依赖上下文的
3. web_reg_save_param_regexp 实际上是注册函数,有reg的都是注册函数,web_reg_save_param也是正则函数,LR12推荐使用前者
4. web_reg_text:查找文本函数