discuz登录,发布帖子,浏览帖子loadrunner脚本

本文档详细介绍了如何利用LoadRunner编写脚本来模拟用户在Discuz论坛上的登录、发布帖子以及浏览帖子操作。通过vuser_init()、login()、viewtopic()和posttopic()等函数实现不同场景的功能,包括HTTP请求、参数传递、事务处理和错误检查等。
vuser_init()
{
	//服务器的IP地址
	lr_save_string("192.168.159.144","IP");
	return 0;
}

login()
{

	//用户判断登录是否成功
   int i;

	web_url("forum.php", 
		"URL=http://{IP}/bbs/forum.php", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer=", 
		"Snapshot=t1.inf", 
		"Mode=HTML", 
		EXTRARES, 
		"Url=static/image/common/background.png", ENDITEM, 
		"Url=static/image/common/px.png", ENDITEM, 
		"Url=static/image/common/newarow.gif", ENDITEM, 
		"Url=static/image/common/pn.png", ENDITEM, 
		"Url=static/image/common/arrwd.gif", ENDITEM, 
		"Url=static/image/common/nv_a.png", ENDITEM, 
		"Url=static/image/common/nv.png", ENDITEM, 
		"Url=static/image/common/search.png", ENDITEM, 
		"Url=static/image/common/titlebg.png", ENDITEM, 
		"Url=static/image/common/qmenu.png", ENDITEM, 
		"Url=static/image/common/pt_item.png", ENDITEM, 
		"Url=static/image/common/chart.png", ENDITEM, 
		"Url=static/image/common/tip_bottom.png", ENDITEM, 
		"Url=static/image/common/scrolltop.png", ENDITEM, 
		LAST);

	lr_start_transaction("login");

	web_submit_data("member.php", 
		"Action=http://{IP}/bbs/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1", 
		"Method=POST", 
		"RecContentType=text/xml", 
		"Referer=http://{IP}/bbs/forum.php", 
		"Snapshot=t3.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		"Name=fastloginfield", "Value=username", ENDITEM, 
		"Name=username", "Value=test1", ENDITEM, 
		"Name=password", "Value=a123", ENDITEM, 
		"Name=quickforward", "Value=yes", ENDITEM, 
		"Name=handlekey", "Value=ls", ENDITEM, 
		LAST);


	web_reg_find(
		"Search=All",
		"Text=消息",
		"SaveCount=message",
		LAST);


	web_url("forum.php_2", 
		"URL=http://{IP}/bbs/forum.php", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer=", 
		"Snapshot=t4.inf", 
		"Mode=HTML", 
		EXTRARES, 
		"Url=static/image/common/style_switch.png", ENDITEM, 
		"Url=static/image/feed/magic_b.png", ENDITEM, 
		"Url=static/image/feed/thread_b.png", ENDITEM, 
		"Url=static/image/feed/task_b.png", ENDITEM, 
		"Url=static/image/feed/medal_b.png", ENDITEM, 
		"Url=static/image/feed/friend_b.png", ENDITEM, 
		"Url=static/image/common/user_online.gif", ENDITEM, 
		"Url=static/image/feed/favorite_b.png", ENDITEM, 
		LAST);


  //添加手工事物,如果登录成功事物状态为成功,否则为失败

	i = atoi(lr_eval_string("{message}"));

	if( i >= 1){
		lr_end_transaction("login",LR_PASS );
	}else
	{
		lr_end_transaction("login",LR_FAIL );
	}
	
	


	return 0;
}



viewtopic()
{


	//用于记录板块中帖子参数数组的长度
	int len;
	//用于记录板块中随机帖子
	char * topic;
	//用于检查点,判断查看帖子是否成功
	int num;


   //查找出所有帖子的的tid,并将此放入参数数组中

	web_reg_save_param("topictid",
		"LB=<a href=\"forum.php?mod=viewthread&tid=",
		"RB=&extra=page%3D1\" onclick=\"atarget(this)\" class=\"xst\" >",		
		"Search=NoResource",
        "Notfound=warning",
		"ORD=ALL",
		LAST);


    //进入某个版块
	web_url("forum.php_3", 
		"URL=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer=http://{IP}/bbs/forum.php", 
		"Snapshot=t122.inf", 
		"Mode=HTML", 
		LAST);
	

 

 
	len =  atoi(lr_eval_string("{topictid_count}"));

	topic = lr_paramarr_random("topictid");

	//将随机查找出来的帖子放入到参数中
	lr_save_string( topic,"randomtopic");


	//判断板块中是否有帖子,如果没有退出函数。如果有浏览帖子。
	if( len == 0)
	{
		return 0;
	 }else
	 {
		    
		lr_start_transaction("view");
	
	   web_reg_find("Fail=NotFound",
			"Search=All",
			"SaveCount=names",
			"Text={fidname}",
			LAST);


		 web_url("forum.php_4", 
			"URL=http://{IP}/bbs/forum.php?mod=viewthread&tid={randomtopic}&extra=page%3D1", 
			"Resource=0", 
			"RecContentType=text/html", 
			"Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid=2", 
			"Snapshot=t125.inf", 
			"Mode=HTML", 
			EXTRARES, 
			"Url=static/image/common/share_btn.png", "Referer=http://{IP}/bbs/forum.php?mod=viewthread&tid=997&extra=page%3D1", ENDITEM, 
			"Url=static/image/common/midavt_shadow.gif", "Referer=http://{IP}/bbs/forum.php?mod=viewthread&tid=997&extra=page%3D1", ENDITEM, 
			"Url=static/image/common/fastreply.gif", "Referer=http://{IP}/bbs/forum.php?mod=viewthread&tid=997&extra=page%3D1", ENDITEM, 
			"Url=static/image/common/edit.gif", "Referer=http://{IP}/bbs/forum.php?mod=viewthread&tid=997&extra=page%3D1", ENDITEM, 
			LAST);

	 num = atoi(lr_eval_string("{names}"));
	// lr_output_message("%d",num);

	 //手工事物,判断浏览帖子是否成功

	 if(num >= 2){
		 	lr_end_transaction("view", LR_PASS);
	 }else
	 {
		 lr_end_transaction("view", LR_FAIL);
	 }





 }


	return 0;
}


posttopic()
{
	int num;

	//发帖间隔必须大于15秒
	lr_think_time(15);

   //进入帖子板块
	web_url("forum.php_3", 
		"URL=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer=http://{IP}/bbs/forum.php", 
		"Snapshot=t248.inf", 
		"Mode=HTML", 
		EXTRARES, 
		"Url=static/image/common/titlebg_sd.png", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/common/fav.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/common/feed.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/common/atarget.png", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/common/arw_l.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/common/refresh.png", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/common/dot.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/js/smilies.js?Zhz", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/common/pollsmall.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/editor/editor.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=data/cache/common_smilies_var.js?Zhz", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/shocked.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/huffy.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/biggrin.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/cry.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/smile.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/tongue.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/sad.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/mad.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/lol.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/loveliness.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/funk.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/dizzy.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/sleepy.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/hug.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/victory.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/curse.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/kiss.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/time.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/shutup.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/handshake.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/call.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/sweat.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/shy.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		"Url=static/image/smiley/default/titter.gif", "Referer=http://{IP}/bbs/forum.php?mod=forumdisplay&fid={fid}", ENDITEM, 
		LAST);

  //点击发帖按钮
	web_url("forum.php_4", 
		"URL=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid={fid}&referer=http%3A//{IP}/bbs/forum.php%3Fmod%3Dforumdisplay%26fid%3D39", 
		"Resource=0", 
		"RecContentType=text/html", 
		"Referer=", 
		"Snapshot=t249.inf", 
		"Mode=HTML", 
		EXTRARES, 
		"Url=static/image/common/notice.gif", "Referer=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid={fid}&referer=http%3A//{IP}/bbs/forum.php%3Fmod%3Dforumdisplay%26fid%3D39", ENDITEM, 
		"Url=static/image/common/op.png", "Referer=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid={fid}&referer=http%3A//{IP}/bbs/forum.php%3Fmod%3Dforumdisplay%26fid%3D39", ENDITEM, 
		"Url=static/image/common/card_btn.png", "Referer=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid={fid}&referer=http%3A//{IP}/bbs/forum.php%3Fmod%3Dforumdisplay%26fid%3D39", ENDITEM, 
		"Url=static/image/common/upload.swf?site=/bbs/misc.php%3fmod=swfupload%26type=image%26fid={fid}&type=image&random=p8OM", "Referer=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid=39&referer=http%3A//{IP}/bbs/forum.php%3Fmod%3Dforumdisplay%26", ENDITEM, 
		"Url=static/image/common/cls.gif", "Referer=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid={fid}&referer=http%3A//{IP}/bbs/forum.php%3Fmod%3Dforumdisplay%26fid%3D39", ENDITEM, 
		"Url=static/image/common/upload.swf?site=/bbs/misc.php%3fmod=swfupload%26fid={fid}&random=hY9q", "Referer=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid={fid}&referer=http%3A//{IP}/bbs/forum.php%3Fmod%3Dforumdisplay%26", ENDITEM, 
		"Url=data/cache/style_1_wysiwyg.css?Zhz", "Referer=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid={fid}&referer=http%3A//{IP}/bbs/forum.php%3Fmod%3Dforumdisplay%26fid%3D39", ENDITEM, 
		LAST);

	//发表帖子

	
	lr_start_transaction("post");

	
	

	web_reg_find("Search=Body",
		"SaveCount=topic",
		"Text=论坛登录测试1.2",
		LAST);

	
    web_submit_data("forum.php_5", 
		"Action=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid={fid}&extra=&topicsubmit=yes", 
		"Method=POST", 
		"RecContentType=text/html", 
		"Referer=http://{IP}/bbs/forum.php?mod=post&action=newthread&fid={fid}&referer=http%3A//{IP}/bbs/forum.php%3Fmod%3Dforumdisplay%26fid%3D38", 
		"Snapshot=t86.inf", 
		"Mode=HTML", 
		ITEMDATA, 
		"Name=formhash", "Value=8a90ed9a", ENDITEM, 
		"Name=posttime", "Value=1313027070", ENDITEM, 
		"Name=wysiwyg", "Value=1", ENDITEM, 
		"Name=subject", "Value=论坛登录测试1.2", ENDITEM, 
		"Name=message", "Value="
		"发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个"
		"空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课"
		"件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口"
		"科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发"
		"的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科发的进风口科技该课件各科个空间各科", ENDITEM, 
		"Name=replycredit_extcredits", "Value=0", ENDITEM, 
		"Name=replycredit_times", "Value=1", ENDITEM, 
		"Name=replycredit_membertimes", "Value=1", ENDITEM, 
		"Name=replycredit_random", "Value=100", ENDITEM, 
		"Name=readperm", "Value=", ENDITEM, 
		"Name=save", "Value=", ENDITEM, 
		"Name=uploadalbum", "Value=", ENDITEM, 
		"Name=newalbum", "Value=", ENDITEM, 
		"Name=usesig", "Value=1", ENDITEM, 
		"Name=allownoticeauthor", "Value=1", ENDITEM, 
		LAST);

	//lr_output_message(lr_eval_string("{topic}"));

	num = atoi(lr_eval_string("{topic}"));

	if( num >= 1)
	{
		lr_end_transaction("post", LR_PASS);

	}else
	{
		lr_end_transaction("post", LR_FAIL);
	}
	


//进入板块根目录
	web_link("板块名称", 
		"Text={fidname}", 
		"Snapshot=t251.inf", 
		LAST);

	return 0;
}

vuser_end()
{
	return 0;
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值