|
Mercury有个Mercury Tours的学习网站,其中有这样一个场景,就是订飞机票和退一张飞机票!
订飞机票后,系统会自动地在server端生成一个标识,即在后面加一:即订第一张票,叫“flight_1“第二张即是“flight_2"而这个值,在订票的时候根本就得不到,只有进入退票页面时,才能获取这个值!
我做了一个场景:
1。我先进入网站,订了3张票。退出
2。开始录制脚本,登陆网站,进行订票,然后再退这张票(我的做法是根据关联,取得这个server反馈回来的票的号码最大值,然后开始执行退票动作)
结果:
在VUGEN中可以运行,比如1个用户跑100次,结果正确,退票页面始终只有3张票,但到Contoller中跑100个用户,每个用户循环100票,发现最后很多票并没有退成功。
请教各位:是我脚本写的有问题,或者这个网站程序有问题?
脚本程序如下:
web_reg_save_param("WCSParam_Diff1",
"LB=<input type=\"checkbox\" name=\"",
"RB=\"",
"Ord=ALL",
"RelFrameId=1",
"Search=Body",
LAST);
lr_start_transaction("33");
web_image("itinerary",
"Alt=itinerary",
"Snapshot=t6.inf",
LAST);
i= atoi(lr_eval_string("{WCSParam_Diff1_count}")) ;
sprintf( buffer2,
"{WCSParam_Diff1_%d}",
i );
sprintf( buffer1,
"Name=%s",
lr_eval_string(buffer2) );
web_submit_form("com.mercurytours.servlet.IteneraryServlet",
"Snapshot=t7.inf",
ITEMDATA,
buffer1, "Value=on", ENDITEM,
"Name=removeSelected.x", "Value=88", ENDITEM,
"Name=removeSelected.y", "Value=7", ENDITEM,
LAST);
web_image_check("web_image_check",
"Src=mast_itinerary.gif",
LAST);
lr_end_transaction("33", LR_AUTO); |
|