Loadrunner使用关联预订WebTour中最便宜的机票
1、首先进行预订机票的脚本录制。操作步骤为:登陆→点击Flights→选择订票信息,点击Continue→选择任意一个票,点击点击Continue→点击Continue完成预订。在此过程中可以根据实际需要加入文本验证点。
2、登录系统需要加上关联函数,关联函数如下(可参考我的上一篇关于手动关联的介绍)。回放一下脚本,脚本运行无误。
3、、接下来需要通过关联函数查询票价以及航班号信息。在【生成日志】中找到与票价与航班号相关的代码如下。可以看出航班号的左右边界为outboundFlight value=、; 票价的左右边界为center>$、</TD>。
4、然后在【回放日志】中找到票价信息的日志,进而找到要插入查找票价以及航班号的关联脑栲葱蛸函数的地方。如下图中所示在源码中插入如下两个函剞麽苍足数(注意"Ordinal=All",这样才能获得所有的票价以及航班信息存到数组中),其中参数WCSParamText1为票价,WCSParamText2为航班号。web_reg_save_param_ex("ParamName=WCSParamText1","LB=center>$","RB=</TD>","Ordinal=All",SEARCH_FILTERS,LAST);web_reg_save_param_ex("ParamName=WCSParamText2","LB=outboundFlight value=","RB=;","Ordinal=All",SEARCH_FILTERS,LAST);
5、在脚本顶端要声明变量,本例中使用了如下几个变量。int min;char cost[60];int i;char flightelem[60];int flagno;char flightno[60];char flightnocost[60];char flightnocostelem[60];
6、接下来就是编写比较大小的脚本。因为脚本执行后,通过关联函数在HTML中查找的票价信息,所有比较大小的脚本应该在生成票价信息之后。如下图所示。min=atoi(lr_eval_string("{WCSParamText1_1}"));flagno=1;for(i=2;i<=atoi(lr_eval_string("{WCSParamText1_count}"));i++){sprintf( cost,"{WCSParamText1_%d}",i ); if(atoi(lr_eval_string(cost)) < min){ min = atoi(lr_eval_string(cost)); flagno = i; } }sprintf( flightnocostelem,"{WCSParamText1_%d}",flagno );lr_save_string( lr_eval_string(flightnocostelem),"flightnocost" ); sprintf( flightelem,"{WCSParamText2_%d}",flagno );lr_save_string( lr_eval_string(flightelem),"flightno" );
7、然后将获得的票价以及航班替换代码中的参数,一共有两处需要替换的。
8、回放一下脚本,可以看到自动选取了最便宜的车票预订,在回放日志中可以查看到参数的替换信息。