|
|
LoadRunner中HTTP协议的录制及模式本文关键字 LoadRunner中HTTP协议的录制及两种录制模式的比较 一,脚本编写 1, “HTML –base scrīpt”和“URL-base scrīpt”的区别 1)“HTML –base scrīpt”默认模式,为每个用户请求生成单独的函数 如: Action() { web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours/", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t4.inf", "Mode=HTML", LAST); web_submit_form("login.pl", "Snapshot=t5.inf", ITEMDATA, "Name=username", "Value=jojo", ENDITEM, "Name=password", "Value=bean", ENDITEM, "Name=login.x", "Value=53", ENDITEM, "Name=login.y", "Value=13", ENDITEM, LAST); return 0; } 2)“URL-base scrīpt”可以捕获所有作为用户操作的结果发送到服务器的HTTP请求,然后一一记录下来。可以捕获非HTML应用程序,例如小程序和非浏览器应用程序。 如: Action() { web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours/", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTTP", LAST); web_concurrent_start(NULL); web_url("header.html", "URL=http://127.0.0.1:1080/WebTours/header.html", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/", "Snapshot=t2.inf", "Mode=HTTP", LAST); web_url("welcome.pl", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/", "Snapshot=t5.inf", "Mode=HTTP", LAST); web_concurrent_end(NULL); web_concurrent_start(NULL); web_url("hp_logo.png", "URL=http://127.0.0.1:1080/WebTours/images/hp_logo.png", "Resource=1", "RecContentType=image/png", "Referer=http://127.0.0.1:1080/WebTours/header.html", "Snapshot=t3.inf", LAST); web_url("webtours.png", "URL=http://127.0.0.1:1080/WebTours/images/webtours.png", "Resource=1", "RecContentType=image/png", "Referer=http://127.0.0.1:1080/WebTours/header.html", "Snapshot=t4.inf", LAST); web_concurrent_end(NULL); web_concurrent_start(NULL);
"URL=http://127.0.0.1:1080/WebTours/home.html", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", "Snapshot=t6.inf", "Mode=HTTP", LAST); web_url("nav.pl", "URL=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", "Snapshot=t7.inf", "Mode=HTTP", LAST); web_concurrent_end(NULL); web_url("mer_login.gif", "URL=http://127.0.0.1:1080/WebTours/images/mer_login.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t8.inf", LAST); web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t9.inf", "Mode=HTTP", ITEMDATA, "Name=userSession", "Value=97276.8320777643fAADzHHpAfDAAccpAzcD", ENDITEM, "Name=username", "Value=jojo", ENDITEM, "Name=password", "Value=bean", ENDITEM, "Name=JSFormSubmit", "Value=off", ENDITEM, "Name=login.x", "Value=56", ENDITEM, "Name=login.y", "Value=11", ENDITEM, LAST); web_concurrent_start(NULL); web_url("login.pl_2", "URL=http://127.0.0.1:1080/WebTours/login.pl?intro=true", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/login.pl", "Snapshot=t10.inf", "Mode=HTTP", LAST); web_url("nav.pl_2", "URL=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/login.pl", "Snapshot=t11.inf", "Mode=HTTP", LAST); web_concurrent_end(NULL); web_concurrent_start(NULL); web_url("in_home.gif", "URL=http://127.0.0.1:1080/WebTours/images/in_home.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t12.inf", LAST); web_url("flights.gif", "URL=http://127.0.0.1:1080/WebTours/images/flights.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t13.inf", LAST); web_url("signoff.gif", "URL=http://127.0.0.1:1080/WebTours/images/signoff.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t14.inf", LAST); web_url("itinerary.gif", "URL=http://127.0.0.1:1080/WebTours/images/itinerary.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t15.inf", LAST); web_concurrent_end(NULL); return 0; } 3)如何选择?什么时候选择url的录制方式: * 不是基于浏览器的 * 基于浏览器但是包含javascrīpt,并且发送了请求到服务器 * 使用了https 安全协议 4)两种脚本的内容比较: * http脚本直观,易于理解和维护 * url 内容多,可伸缩性强,记录了更详细的用户操作信息。 2,HTML 高级选项: 1) 默认是选择描述用户行为的脚本 2) 仅包含明确的URL脚本,录制结果如下: Action() { web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours/", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", LAST); web_url("Update.htm", "URL=http://scdown.qq.com/download/Update.htm", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t2.inf", "Mode=HTML", LAST); web_url("Update.htm_2", "URL=http://scdown.qq.com/download/Update.htm", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t3.inf", "Mode=HTML", LAST); web_url("Update.htm_3", "URL=http://scdown.qq.com/download/Update.htm", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t4.inf", "Mode=HTML", LAST); 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=t5.inf", "Mode=HTML", ITEMDATA, "Name=userSession", "Value=97276.9197245848fAADziVpffiDDDDDDAAccpAiQDf", ENDITEM, "Name=username", "Value=jojo", ENDITEM, "Name=password", "Value=bean", ENDITEM, "Name=JSFormSubmit", "Value=off", ENDITEM, "Name=login.x", "Value=52", ENDITEM, "Name=login.y", "Value=8", ENDITEM, LAST); return 0; } 3,录制header 默认设置是不录制,选择需要录制的Headers,以便服务器能够正确处理编码信息。需要注意的是“accept-language”,像websphere这类服务器会根据HTTP 请求中的Header来确定编码。 |
|
|
||