Loadrunner实例: 测试WebTour支持的最大用户登录并发数

时间:2024-04-15 17:33:41

 

默认录制出来的脚本内容

Action()
{

    web_add_cookie("MSO=SID&1471159007&MSO_JSFormSubmit1&on&MSO_ServerErrorsProb&50&MSO_ServerLoadProb&50; DOMAIN=127.0.0.1");

    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=t11.inf", 
        LAST);

    web_url("JSFormSubmit.js", 
        "URL=http://127.0.0.1:1080/WebTours/JSFormSubmit.js", 
        "Resource=1", 
        "RecContentType=application/javascript", 
        "Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in=home", 
        "Snapshot=t12.inf", 
        LAST);

    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/cgi-bin/nav.pl?in=home", 
        "Snapshot=t13.inf", 
        LAST);

    web_submit_data("login.pl", 
        "Action=http://127.0.0.1:1080/cgi-bin/login.pl", 
        "Method=POST", 
        "RecContentType=text/html", 
        "Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in=home", 
        "Snapshot=t14.inf", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=userSession", "Value=119170.433940867zVcQicQpVQfiDDDDDzHHipQHfVHf", ENDITEM, 
        "Name=username", "Value=jojo", ENDITEM, 
        "Name=password", "Value=bean", ENDITEM, 
        "Name=JSFormSubmit", "Value=on", ENDITEM, 
        LAST);

    web_submit_data("login.pl_2", 
        "Action=http://127.0.0.1:1080/cgi-bin/login.pl", 
        "Method=POST", 
        "RecContentType=text/html", 
        "Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in=home", 
        "Snapshot=t15.inf", 
        "Mode=HTML", 
        ITEMDATA, 
        "Name=userSession", "Value=119170.433940867zVcQicQpVQfiDDDDDzHHipQHfVHf", ENDITEM, 
        "Name=username", "Value=jojo", ENDITEM, 
        "Name=password", "Value=bean", ENDITEM, 
        "Name=JSFormSubmit", "Value=on", ENDITEM, 
        "Name=login.x", "Value=37", ENDITEM, 
        "Name=login.y", "Value=3", ENDITEM, 
        LAST);

    return 0;
}

优化1:删除不需要的代码,分析原始脚本,发现有些是获取图片,有些是重复提交login,删除不需要的代码,保存重新运行,若Replay Runs的结果为Passed说明正确的优化了代码。

* 删除web_add_cookie 会造成运行失败,说明和服务器的交互必须有固定的cookie内容

Action()
{

    web_add_cookie("MSO=SID&1471159007&MSO_JSFormSubmit1&on&MSO_ServerErrorsProb&50&MSO_ServerLoadProb&50; DOMAIN=127.0.0.1");


	web_submit_data("login.pl", 
		"Action=http://127.0.0.1:1080/cgi-bin/login.pl", 
		"Method=POST", 
		"RecContentType=text/html", 
		"Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in=home", 
		"Snapshot=t14.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		"Name=userSession", "Value=119170.433940867zVcQicQpVQfiDDDDDzHHipQHfVHf", ENDITEM, 
		"Name=username", "Value=jojo", ENDITEM, 
		"Name=password", "Value=bean", ENDITEM, 
		"Name=JSFormSubmit", "Value=on", ENDITEM, 
		LAST);


	return 0;
}

 Loadrunner用于参数化造数据非常方便,找准接口往里压数据即可。

 

 

 

 

这段代码模拟了用户操作的两个步骤,点击登陆请求跳转到响应的页面,post数据。

 

Action()
{

	web_add_cookie("MSO=SID&1471164628&MSO_JSFormSubmit1&on&MSO_ServerErrorsProb&50&MSO_ServerLoadProb&50; DOMAIN=127.0.0.1");

	web_submit_data("login.pl", 
		"Action=http://127.0.0.1:1080/cgi-bin/login.pl", 
		"Method=POST", 
		"RecContentType=text/html", 
		"Referer=http://127.0.0.1:1080/cgi-bin/login.pl?username=&password=&getInfo=true", 
		"Snapshot=t3.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		"Name=username", "Value=jojo2", ENDITEM, 
		"Name=password", "Value=bean2", ENDITEM, 
		"Name=passwordConfirm", "Value=bean2", ENDITEM, 
		"Name=firstName", "Value=test", ENDITEM, 
		"Name=lastName", "Value=test", ENDITEM, 
		"Name=address1", "Value=test", ENDITEM, 
		"Name=address2", "Value=test", ENDITEM, 
		"Name=register.x", "Value=63", ENDITEM, 
		"Name=register.y", "Value=2", ENDITEM, 
		LAST);

	return 0;
}