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、回放一下脚本,可以看到自动选取了最便宜的车票预订,在回放日志中可以查看到参数的替换信息。
