例子:loadrunner自带的飞机订票系统 录制登陆操作脚本
对照F1帮助及火狐抓包的理解,整理loadrunner脚本与抓包的关联。此为个人理解,有些未证实,权当记录。
Action()
{
web_url("webtours", //----名称,可随便取
"URL=http://localhost:1080/webtours/", //----抓包中的url地址
"TargetFrame=", //---The name of the frame containing the current link or resource,不理解,但看到的web_url()几乎是空值
"Resource=0", //---为1时表是资源,为0非资源,若录制时此值为1,则整个函数可删除
"RecContentType=text/html", //--- 响应头的content-type,可抓包查看响应头的content-type
"Referer=", //---回调地址,可抓包查看请求头的Referer
"Snapshot=t1.inf", //快照名称,自写脚本按这个格式取个名字就成。当录制方式为url模式时,若需操作关联,则直接查找回调地址是属 于第几张快照,然后在tree模式下查找快照对应的response,再查找需关联的关键词。(此理论已证实,录制模 式为url时才可方便用)
"Mode=HTML", //--录制模式,分HTML及URL模式,HTML模式比较简洁易维护;URL模式跟抓包结果相符(已证实,url模式录制的脚本比抓包结果多 resource为1的请求,删除此类脚本与抓包结果一致),适合自写脚本。包含了java script、ajax,使用https或非基于浏览器的业务, 推荐使用url模式(未证实),基于浏览器的业务推荐使用HTML模式。
LAST);
web_url("favicon.ico",
"URL=http://localhost:1080/favicon.ico",
"TargetFrame=",
"Resource=1", //--- resource 为1,此段可删除,对测试结果不影响。
"Referer=",
LAST);
web_submit_data("login.pl",
"Action=http://localhost:1080/webtours/login.pl",
"Method=POST", //----请求方式,一般为post 或 get,可抓包查看此url的请求是post还是get
"TargetFrame=body", //---注意此处TargetFrame=body
"RecContentType=text/html",
"Referer=http://localhost:1080/webtours/nav.pl?in=home",
"Snapshot=t2.inf",
"Mode=HTML",
ITEMDATA,
"Name=userSession", "Value=120676.52037262zcAHcQipfVzzzzzHDHctDpHQVV", ENDITEM, //--session值一般需做关联操作,服务器返回的动态值,隔段时 间会失效,需关联
"Name=username", "Value=jojo", ENDITEM, //----post 提交的一系列表单,可用火狐抓包查看post请求里有个post tab页,有列出来参数
"Name=password", "Value=bean", ENDITEM,
"Name=JSFormSubmit", "Value=off", ENDITEM,
"Name=login.x", "Value=0", ENDITEM,
"Name=login.y", "Value=0", ENDITEM,
LAST);
return 0;
}