lr——bbs

Action()
{

//将ip地址保存在参数中
lr_save_string("192.168.0.99","ip");

//登录用户名、密码
lr_save_string("user2","uname");
lr_save_string("111111","pwd");

//打开bbs首页
web_url("homePage",
"URL=http://{ip}/bbsutf8/",
"RecContentType=text/html",
"Mode=HTML",
LAST);

//在登录响应中检查是否出现error内容,使用Fail属性:找到error就直接失败
web_reg_find("Text=error",
"SaveCount=error_findcount",
// "Fail=Found",
LAST);

//在首页右上角,输入用户名、密码,进行登录
web_submit_data("loginSubmit",
"Action=http://{ip}/bbsutf8/member.php?mod=logging&action=login&loginsubmit=yes&infloat=yes&lssubmit=yes&inajax=1",
"Method=POST",
"RecContentType=text/xml",
"Mode=HTML",
ITEMDATA,
"Name=fastloginfield", "Value=username", ENDITEM,
"Name=username", "Value={uname}", ENDITEM,
"Name=password", "Value={pwd}", ENDITEM,
"Name=quickforward", "Value=yes", ENDITEM,
"Name=handlekey", "Value=ls", ENDITEM,
LAST);

//登录完成后,重新加载页面
web_url("homePage2",
"URL=http://{ip}/bbsutf8/forum.php",
"RecContentType=text/html",
"Mode=HTML",
LAST);

//根据error出现次数判断登录是否成功。
if(atoi(lr_eval_string("{error_findcount}"))>0){
lr_error_message("Login failure :%s",lr_eval_string("{uname}"));
}
else{
lr_output_message("Login successfully :%s ",lr_eval_string("{uname}"));
}

//点击“默认版块”,打开默认版块页面
web_url("sectionPage",
"URL=http://{ip}/bbsutf8/forum.php?mod=forumdisplay&fid=2",
"RecContentType=text/html",
"Mode=HTML",
LAST);

/*
formhash关联步骤:
1.录制完成后,在第一次回放时,topicSubmit未能通过,在当前页面-发帖页面,查找要关联项:
在源码中查找hidden域、值为不规则的字段,确定formhash,而且此项在topicSubmit请求为数据部分,确定需要对formhash进行关联。
将关联语句,写在响应返回发帖页面的步骤之前,即点击发帖的postPage步骤前。
*/

// formhash关联
web_reg_save_param("formhash",
"LB=\"formhash\" value=\"",
"RB=\" />",
LAST);

//在默认版块,点击“发帖”,打开发帖页面
web_url("postPage",
"URL=http://{ip}/bbsutf8/forum.php?mod=post&action=newthread&fid=2&referer=http%3A//{ip}/bbsutf8/forum.php%3Fmod%3Dforumdisplay%26fid%3D2",
"RecContentType=text/html",
"Mode=HTML",
LAST);
/*
tid关联步骤
formhash关联后,再次运行,通过返回页面查看,发现并未在当前主题下面进行回复。而是回复在录制时发布的主题。
查看replysubmit请求,发现其中Action属性中 参数tid为主题的id。需对tid进行关联。
在已发布的主题页面,查找tid值的左右边界,取htmlbody中较显著的地方--主题标题。(从firebug看是整理过的,要看源码)
将关联语句写在响应返回主题页面的步骤之前,即发布主题的topicSubmit步骤前。

*/
//tid关联
web_reg_save_param("tid",
"LB=viewthread&tid=",
"RB=\" id=\"thread_subject\">",
LAST);
//检查发贴主题
web_reg_find("Text=subject000",
"SaveCount=subject_findcount",
LAST);

//发帖事务开始
lr_start_transaction("topicSubmit");

//在发帖页,输入帖子标题和内容,发布帖子
web_submit_data("topicSubmit",
"Action=http://{ip}/bbsutf8/forum.php?mod=post&action=newthread&fid=2&extra=&topicsubmit=yes",
"Method=POST",
"RecContentType=text/html",
"Mode=HTML",
ITEMDATA,
"Name=formhash", "Value={formhash}", ENDITEM,
"Name=posttime", "Value=1415301992", ENDITEM,
"Name=wysiwyg", "Value=1", ENDITEM,
"Name=subject", "Value=subject000", ENDITEM,
"Name=message", "Value=message123~~~message123~~~", 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=save", "Value=", ENDITEM,
"Name=usesig", "Value=1", ENDITEM,
"Name=allownoticeauthor", "Value=1", ENDITEM,
LAST);

//根据subject_findcount值,自定义topicSubmit事务

if(atoi(lr_eval_string("{subject_findcount}"))==0){
lr_end_transaction("topicSubmit",LR_FAIL);
lr_error_message("topicSubmit transaction failure");
}else{
lr_end_transaction("topicSubmit",LR_PASS);
lr_output_message("subject_findcount:%d",atoi(lr_eval_string("{subject_findcount}")));
}

/*
关联tid后,运行到最后一步,发现请求路径不正确,观看getNewpost的URL参数中viewpid也需关联。
因pid为帖子id,为在回复完成后响应到的。在查看回复的响应后,发现响应内容中有pid的值。
所以在回复步骤replysubmit前,写关联语句。
*/

//pid关联
web_reg_save_param("pid",
"LB=&pid=",
"RB=&page=",
LAST);

//回帖事务
lr_start_transaction("replysubmit");

//帖子发布完成后,在帖子页面,下方输入回复内容,回复帖子
web_submit_data("replysubmit",
"Action=http://{ip}/bbsutf8/forum.php?mod=post&action=reply&fid=2&tid={tid}&extra=&replysubmit=yes&infloat=yes&handlekey=fastpost&inajax=1",
"Method=POST",
"RecContentType=text/xml",
"Mode=HTML",
ITEMDATA,
"Name=message", "Value=reply000~~~reply000~~~", ENDITEM,
"Name=posttime", "Value=1415302041", ENDITEM,
"Name=formhash", "Value={formhash}", ENDITEM,
"Name=subject", "Value=", ENDITEM,
LAST);

//回帖事务结束
lr_end_transaction("replysubmit",LR_AUTO);

//检查回帖内容
web_reg_find("Text=reply000~~~reply000~~~",
LAST);

//回复完成后,页面加载最新发布的帖子
web_url("getNewpost",
"URL=http://{ip}/bbsutf8/forum.php?mod=viewthread&tid={tid}&viewpid={pid}&from=&inajax=1&ajaxtarget=post_new",
"RecContentType=text/xml",
"Mode=HTML",
LAST);

//加载完整主题页面
web_url("topicPage",
"URL=http://{ip}/bbsutf8/forum.php?mod=viewthread&tid={tid}&extra=page%3D1",
LAST);

return 0;
}

时间: 2024-11-04 05:36:44

lr——bbs的相关文章

谄舅厮污口d92efg92er8

周漪瞪大了眼睛看着他们,她甚至已经做好准备防御了,可霍雨浩只是和王冬拥抱在那里,就再没有其他动静了,她眼角的肌肉已经开始抽搐起来.双方之间的关系早就不可调和了,她找到借口自然是毫不客气."我们史莱克学院,被大家尊称为大陆第一学院,为了本届比赛,我们也早就有了充分的准备.你们所看到的这些参赛学员,实际上,没有一人是本届参赛的正选队员.他们全是前来历练的预备队员而已.他们之所以代表学院参赛,并非我们史莱克学院要让他们以如此程度历练,而是因为不得已."--------------------

茇翁茁犹少ewd644u41ei91ese1o

大量的金色光球瞬间冲出,覆盖式的轰向了刚刚发起第二波攻击的笑红尘.穆老摇摇头,道:"那到不用.交流学习可以.你将你们学院的笑红尘.梦红尘送到史莱克.再将我们派出的弟子接走.老夫可以保证,让他们进入我院内院学习.等交流学习期满之后,你亲自将我们的学员送回来,再接走你的学员."这一切变化的实在太快,以至于骞元的攻击已经发出,来不及收回了.一击落空,骞元立刻赶到了不妙,而此时的戴钥衡已经在他头顶上方.戴华斌得理不让人,虎吼一声,迅速前冲,双瞳之中凶光赫赫,而那狡猾的崔雅洁却迅速隐藏在他身后,

蚜啃颜茸聚p4b70v7d53s

带着几分邪异,马小桃的双眸变成了暗红色,紧接着,凤凰双翼再次从她背后绽放开来,但这一次伴随着双翼展开的火焰也同样是暗红色的啊!一旁的周漪问道:"王老师,他们既然是完美契合的武魂融合,那除了能够彼此辅助修炼之外,还有什么其他好处?"也恰巧就在这时候,天空中再次响起一声炸雷,细密的雨丝,从天而降. 该族有咒语,有祭坛,可以让雨族当中一位神的身影透过无尽时空,"玄老,就是这样.这几名学员虽然年纪还小,又是新生.但确实值得注意."王言抬头看向贝贝,"你们到底是怎么

关于LR中的EXTRARES

LoadRunner脚本之EXTRARES参数 EXTRARES:分隔符,表示标记下一个属性是资源属性的列表(list of resource attributes). [EXTRARES后的资源是由script.active.java applet.flash.CSS产生的请求产生的] and 下面来看看,在EXTRARES后面的资源属性是否可以注释掉...!Let's get the copy and learning started! 在坛子里看到有人在讨论Web请求中的EXTRARES后

LR调试脚本的时候报错Error -27796:

LR调试脚本的时候报错: 1.Error -27796: Failed to connect to server "192.168.211.128:80": [10060] Connection timed out  [MsgId: MERR-27796] 2.web_url("bbs") highest severity level was "ERROR", 0 body bytes, 0 header bytes  [MsgId: MMSG-

性能基础知识学习之四---事务,思考时间,检查点,集合点和手写lr接口

一.事物,思考时间,检查点,集合点 1.事务 lr里面的事物是lr运行脚本的基础.lr里面 要测试的三个维度都以事物为单位,所以一定要有事物.事务的概念贯穿loadrunner的使用,比如我们说的响应时间其实是事务的的相应时间;tps,每秒中处理的事务数.当脚本跑完之后没有响应时间,导致此种情况之一就是没定义事务. 而在录脚本时: 1.在录脚本是要添加事务 2.添加事务是为了准确的测出相应请求的响应时间,尽量保证每一个事务中只有一个请求.但当录制脚本的时候,在录制HTML脚本时,由于一个HTML

LR如何利用siteScope监控MySQL性能

本次实验,是在自己的电脑上使用APMServ5.2.6部署Discuz2.X论坛下,对该论坛的数据库MySQL5.1进行性能测试的,下面讲述LoadRunner在设计场景时,如何利用siteScope工具监控MySQL数据库性能: 一.在网上下载siteScope 我在网上搜了很久,发现siteScope软件的下载资源很少,毕竟它是收费的,想找个破解版,不过还是有的,哈哈...但是版本旧了点siteScope7.9.5 下载地址:http://download.csdn.net/detail/y

SVM与LR的比较

两种方法都是常见的分类算法,从目标函数来看,区别在于逻辑回归采用的是logistical loss,svm采用的是hinge loss.这两个损失函数的目的都是增加对分类影响较大的数据点的权重,减少与分类关系较小的数据点的权重.SVM的处理方法是只考虑support vectors,也就是和分类最相关的少数点,去学习分类器.而逻辑回归通过非线性映射,大大减小了离分类平面较远的点的权重,相对提升了与分类最相关的数据点的权重.两者的根本目的都是一样的.此外,根据需要,两个方法都可以增加不同的正则化项

python第一百三十天 ---简单的BBS论坛

简单的BBS论坛 实现功能 git仓库地址:https://github.com/uge3/BBS 1.整体参考"抽屉新热榜" + "博客园" 2.实现不同论坛版块 3.帖子列表展示 4.个人博客主页 5.个人博客标签.分类.时间 筛选 6.帖子评论数.点赞数展示 7.允许登录用户发贴.评论.点赞 8.允许上传文件(个人头像) 9.可进行多级评论 10.个人博客后台管理(创建\编辑\删除文章,个人分类\个人标签管理,可以选择个人博客主题,) 11, 通过admin模