这里小结下手工关联的主要方法。这个不难,会了就觉得很容易。关联的思想,以后再讲。
手工关联主要包括如下几步(以webTours登陆为例)
1、 录制两遍脚本,执行完全一样的步骤,输入完全一样的参数,保存。分别为001、002
2、 【Tools】--〉【Compare with script】,选择001、002,对比。
通过如下的对比可以看出,主要的差异在于如下两处。
lr_think_time(13);
"Name=userSession","Value=116695.15544755zAAcfAHpAfiDDDDDDzAVfpAtcDf", ENDITEM,
lr_think_time 是思考时间,此处可以忽略。
1、 找到关联字符串。
1)复制windiff里找到的差异:userSession里的字符串“116695.15544755zAAcfAHpAfiDDDDDDzAVfpAtcDf”。注意这里有两个脚本,这里复制的字符串跟脚本是一个。别混淆了。
2)打开日志vuser—Run-time settings,打开Log选项下打开extened log选项。如下图示。
3)回放一遍脚本,在Recording Log下搜索116695.15544755zAAcfAHpAfiDDDDDDzAVfpAtcDf。如果RecordingLog下没有,就去GenerationLog下搜索。搜索出第一个结果即可。
搜索结果为: <input type=hidden name=userSession value=116695.15544755zAAcfAHpAfiDDDDDDzAVfpAtcDf>
这个字段就是我们要关联的信息了。下面就是确定左右边界。
2、 确定左右边界
1) 左边界:input type=hidden name=userSession value=
2) 有边界:>
3、 编写函数web_reg_save_param。
这个函数是个注册函数,应该放在执行函数前面。
- web_reg_save_param(
- "SessionID",
- "LB=input type=hidden name=userSession value=",
- "RB=>",
- LAST);
这里的关联关键字名叫SessionID,可以自己取。
4、 确定函数位置
使用关键字符串input type=hidden name=userSession value=116695.285054678zAAcfVDpHcfDzAVfpAicDf,在Reply Log里搜索出第一行。
Action.c(5): <input type=hidden name=userSession value=116695.285054678zAAcfVDpHcfDzAVfpAicDf>\n
这里的Action.c(5),表示该函数应该放在18行。双击Action.c(5): 可以看出,该日志指向了如下的函数。在这里插入一行,写上注册函数即可。
- web_submit_data("login.pl",
- "Action=http://127.0.0.1:1080/WebTours/login.pl",
- "Method=POST",
- "TargetFrame=",
- "RecContentType=text/html",
- "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
- "Snapshot=t8.inf",
- "Mode=HTML",
- ITEMDATA,
- "Name=userSession", "Value={SessionID}", ENDITEM,
- "Name=username", "Value=test01", ENDITEM,
- "Name=password", "Value=123456", ENDITEM,
- "Name=JSFormSubmit", "Value=on", ENDITEM,
- "Name=login.x", "Value=81", ENDITEM,
- "Name=login.y", "Value=12", ENDITEM,
- LAST);
7、将 "Name=userSession", "Value=116695.15544755zAAcfAHpAfiDDDDDDzAVfpAtcDf", ENDITEM,
替换为 "Name=userSession", "Value={SessionID}", ENDITEM,
完整的脚本如下,回放OK
- Action()
- {
-
- web_reg_save_param(
- "SessionID",
- "LB=input type=hidden name=userSession value=",
- "RB=>",
- LAST);
-
- web_url("WebTours",
- "URL=http://127.0.0.1:1080/WebTours/",
- "TargetFrame=",
- "Resource=0",
- "RecContentType=text/html",
- "Referer=",
- "Snapshot=t7.inf",
- "Mode=HTML",
- LAST);
-
- lr_start_transaction("登陆");
-
- lr_think_time(13);
-
-
- web_submit_data("login.pl",
- "Action=http://127.0.0.1:1080/WebTours/login.pl",
- "Method=POST",
- "TargetFrame=",
- "RecContentType=text/html",
- "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",
- "Snapshot=t8.inf",
- "Mode=HTML",
- ITEMDATA,
- "Name=userSession", "Value={SessionID}", ENDITEM,
- "Name=username", "Value=test01", ENDITEM,
- "Name=password", "Value=123456", ENDITEM,
- "Name=JSFormSubmit", "Value=on", ENDITEM,
- "Name=login.x", "Value=81", ENDITEM,
- "Name=login.y", "Value=12", ENDITEM,
- LAST);
-
- web_url("SignOff Button",
- "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=1",
- "TargetFrame=body",
- "Resource=0",
- "RecContentType=text/html",
- "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home",
- "Snapshot=t9.inf",
- "Mode=HTML",
- LAST);
-
- lr_end_transaction("登陆",LR_AUTO);
-
- return 0;
- }
完成
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21112063/viewspace-1786964/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21112063/viewspace-1786964/