51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2207|回复: 13
打印 上一主题 下一主题

[讨论] 一段脚本!

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-12-21 09:13:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
大家帮忙看看下面这段代码的第2行seatTypeCount=aoti( lr_eval_string("{seatTypeList_count}") );有没有错误?谢谢!!!



lr_think_time(9);

        // get the random type
    seatTypeCount=aoti( lr_eval_string("{seatTypeList_count}") );

        lr_message( "Type count is %d",
                seatTypeCount );

        sprintf( Type,
                "{seatTypeList_%d}",
                1 + rand() % seatTypeCount );

        lr_save_string( lr_eval_string(Type),
                "randomType" );

        lr_message( "The random type is %s",
                lr_eval_string("{randomType}")
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-12-21 09:52:49 | 只看该作者
代码没有错误啊,不就是统计seatYupetList的总数吗,不知道运行错误提示信息是什么?
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-12-21 10:04:17 | 只看该作者
错了
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-12-21 10:05:56 | 只看该作者
楼上的看清楚了,有个atoi 啊,楼主把错误提示信息发一下啊
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-12-21 10:21:10 | 只看该作者
我也不知道是否有错
我看的别人的代码,正在学习中!
我只是感觉有错,但是不知道为什么错

我用VS2005打开这段代码的时候,提示第2行有错误.
回复 支持 反对

使用道具 举报

该用户从未签到

6#
 楼主| 发表于 2007-12-21 10:22:45 | 只看该作者

回复 5# 的帖子

aoti()是干什么的???
回复 支持 反对

使用道具 举报

该用户从未签到

7#
 楼主| 发表于 2007-12-21 10:24:18 | 只看该作者
给大家发Action的全部代码看看吧!欢迎大家讨论!!!!
Action()
{
        int seatPrefCount;              //the number of seat pref
        int seatTypeCount;                                 //the number of seat type
        int flightCount;                                //the number of flight which we can choose from depart time to arrive city
    int returnflightCount;                        //the number of return flight which we can choose from depart time to arrive city
        int i;                                                         //use for iteration

        char Type[30];                                        //used to store the random type
        char Pref[30];                                        //used to store the random Pref
        char Flight[100];                                //used to store the random flight  
        char returnFlight[100];                        //used to store the random returnflight
        char strTemp[100];                                //Temporary string
        char strTmp2[100];                                //Temporary string


        lr_think_time(6);
   //Corrlate the seat pref parameter, and get all seat pref
        web_reg_save_param("seatPrefList",
                "LB=<input type=\"radio\" name=\"seatPref\" value=\"",
                "RB=\"",
                "Ord=All",
                "RelFrameId=1.2",
                "Search=Body",
                "IgnoreRedirections=Yes",
                LAST);
   //Corrlate the seat type parameter, and get all seat type
        web_reg_save_param("seatTypeList",
                "LB=<input type=\"radio\" name=\"seatType\" value=\"",
                "RB=\"",
                "Ord=All",
                "RelFrameId=1.2",
                "Search=Body",
                "IgnoreRedirections=Yes",
                LAST);

        // This transaction is used to Open Flight Search Page
        lr_start_transaction("OpenFlightSearchPage");

        web_url("welcome.pl",
                "URL=http://127.0.0.1:1080/mercuryWebTours/welcome.pl?page=search",
                "Resource=0",
                "RecContentType=text/html",
                "Referer=http://127.0.0.1:1080/mercuryWebTours/nav.pl?page=menu&in=home",
                "Snapshot=t3.inf",
                "Mode=HTML",
                LAST);
   

        lr_end_transaction("OpenFlightSearchPage", LR_AUTO);

        lr_think_time(9);

        // get the random type
    seatTypeCount=aoti( lr_eval_string("{seatTypeList_count}") );

        lr_message( "Type count is %d",
                seatTypeCount );

        sprintf( Type,
                "{seatTypeList_%d}",
                1 + rand() % seatTypeCount );

        lr_save_string( lr_eval_string(Type),
                "randomType" );

        lr_message( "The random type is %s",
                lr_eval_string("{randomType}") );

        //get the random pref

        seatPrefCount=atoi( lr_eval_string("{seatPrefList_count}") );

        lr_message( "Pref count is %d",
                seatPrefCount );

        sprintf( Pref,
                "{seatPrefList_%d}",
                1 + rand() % seatPrefCount );

        lr_save_string( lr_eval_string(Pref),
                "randomPref" );

        lr_message( "The random Pref is %s",
                lr_eval_string("{randomPref}") );


    //Corrlate the flight, and get all flight list
        web_reg_save_param("flightList",
                "LB=outboundFlight value=",
                "RB=>",
                "Ord=All",
                "RelFrameId=1",
                "Search=Body",
                "IgnoreRedirections=Yes",
                LAST);

        //Corrlate the flight, and get all return flight list
        web_reg_save_param("returnflightList",
                "LB=name=returnFlight value=",
                "RB=>",
                "Ord=All",
                "RelFrameId=1",
                "Search=Body",
                "IgnoreRedirections=Yes",
                LAST);
    // This transaction is used to search the flight
        lr_start_transaction("SearchFlight");

        web_submit_form("reservations.pl",
                "Snapshot=t4.inf",
                ITEMDATA,
                "Name=depart", "Value={DepartCity}", ENDITEM,
                "Name=departDate", "Value={DepartDatae}", ENDITEM,
                "Name=arrive", "Value={ArriveCity}", ENDITEM,
                "Name=returnDate", "Value={returnDate}", ENDITEM,
                "Name=numPassengers", "Value={numPassenger}", ENDITEM,
                "Name=roundtrip", "Value=on", ENDITEM,
                "Name=seatPref", "Value={randomPref}", ENDITEM,
                "Name=seatType", "Value={randomType}", ENDITEM,
                "Name=findFlights.x", "Value=51", ENDITEM,
                "Name=findFlights.y", "Value=11", ENDITEM,
                LAST);
    lr_end_transaction("SearchFlight", LR_AUTO);
        lr_think_time(13);


        lr_message("The Depart city is %s", lr_eval_string("{DepartCity}"));
        lr_message("The arrive time is %s", lr_eval_string("{DepartDatae}"));
        lr_message("The arrive city is %s", lr_eval_string("{ArriveCity}"));
        lr_message("The return time is %s", lr_eval_string("{returnDate}"));
        lr_message("The number of passengers is %s", lr_eval_string("{numPassenger}"));
        lr_message("The random type is %s",lr_eval_string("{randomType}") );
    lr_message("The random Pref is %s",lr_eval_string("{randomPref}") );

        memset(strTmp2, 0, 100);
       
        //get the random flight
        flightCount=atoi( lr_eval_string("{flightList_count}") );
        lr_message("The flight count is %d",flightCount);
        for(i=1;i<=flightCount;i++)
        {
           sprintf(Flight,"{flightList_%d}",i );
           memset(strTemp, 0, 100);
           strcpy(strTemp, lr_eval_string(Flight));
           if (strlen(strTemp) > 20) {
                   strncpy(strTmp2, strTemp, 18);
                   sprintf(strTemp, "flightList_%d",i);
                   lr_save_string(strTmp2,strTemp);
                   break;
           }
       
        }
        sprintf( Flight,"{flightList_%d}",1 + rand() % flightCount );
       
        lr_save_string( lr_eval_string(Flight),"RandFlight" );
        lr_message( lr_eval_string("{RandFlight}") );

        memset(strTmp2, 0, 100);

        //get the random return flight
        returnflightCount=atoi( lr_eval_string("{returnflightList_count}") );
        lr_message("The return flight count is %d",returnflightCount);
        for(i=1;i<=returnflightCount;i++)
        {
           sprintf(returnFlight,"{returnflightList_%d}",i );
           memset(strTemp, 0, 100);
           strcpy(strTemp, lr_eval_string(returnFlight));
           if (strlen(strTemp) > 20) {
                   strncpy(strTmp2, strTemp, 18);
                   sprintf(strTemp, "returnflightList_%d",i);
                   lr_save_string(strTmp2,strTemp);
                   break;
           }
       
        }
        sprintf( returnFlight,"{returnflightList_%d}",1 + rand() % returnflightCount );
       
        lr_save_string( lr_eval_string(returnFlight),"RandreturnFlight" );
        lr_message( lr_eval_string("{RandreturnFlight}") );


   lr_start_transaction("ChooseFlight");
        web_submit_form("reservations.pl_2",
                "Snapshot=t5.inf",
                ITEMDATA,
                "Name=outboundFlight", "Value={RandFlight}", ENDITEM,
                "Name=returnFlight", "Value={RandreturnFlight}", ENDITEM,
                "Name=reserveFlights.x", "Value=78", ENDITEM,
                "Name=reserveFlights.y", "Value=12", ENDITEM,
                LAST);
    lr_end_transaction("ChooseFlight", LR_AUTO);
        lr_think_time(7);

    //This transaction is used to do the payment
        lr_start_transaction("Payment");

        web_submit_form("reservations.pl_3",
                "Snapshot=t6.inf",
                ITEMDATA,
                "Name=firstName", "Value=Joseph", ENDITEM,
                "Name=lastName", "Value=Marshall", ENDITEM,
                "Name=address1", "Value=234 Willow Drive", ENDITEM,
                "Name=address2", "Value=San Jose/CA/94085", ENDITEM,
                "Name=pass1", "Value=Joseph Marshall", ENDITEM,
                "Name=creditCard", "Value=1212", ENDITEM,
                "Name=expDate", "Value=12/07", ENDITEM,
                "Name=saveCC", "Value=<OFF>", ENDITEM,
                "Name=buyFlights.x", "Value=43", ENDITEM,
                "Name=buyFlights.y", "Value=9", ENDITEM,
                LAST);
    lr_end_transaction("Payment", LR_AUTO);
        return 0;
}
回复 支持 反对

使用道具 举报

该用户从未签到

8#
发表于 2007-12-21 10:28:47 | 只看该作者

回复 7# 的帖子

atoi 就是把字符型转换为整型,反之是 itoa
回复 支持 反对

使用道具 举报

该用户从未签到

9#
 楼主| 发表于 2007-12-21 10:51:24 | 只看该作者

回复 9# 的帖子

受教了!
谢谢!!!!!以后还请多多指教!!!!^_^
回复 支持 反对

使用道具 举报

该用户从未签到

10#
发表于 2007-12-21 15:41:45 | 只看该作者
最近有见过我吗?呵呵
回复 支持 反对

使用道具 举报

该用户从未签到

11#
 楼主| 发表于 2007-12-21 15:44:59 | 只看该作者

回复 11# 的帖子

都很久不见了!!!!
想死你了!!
你们怎么突然之间都消失了呢???
回复 支持 反对

使用道具 举报

该用户从未签到

12#
发表于 2007-12-21 20:37:35 | 只看该作者
ATOI是把字符型转换为整型,相反还有ITOA

不过我有一点不是很明白
// get the random type
    seatTypeCount=aoti( lr_eval_string("{seatTypeList_count}") );

        lr_message( "Type count is %d",
                seatTypeCount );
注释上写着获取随机数啊,但是seatTypeCount=aoti( lr_eval_string("{seatTypeList_count}") );
明明在获取统计的总数呀...和随机有什么关系...
获取随机一个符合要求的值,不是最起码要用到RAND()%么
回复 支持 反对

使用道具 举报

该用户从未签到

13#
 楼主| 发表于 2007-12-22 11:18:39 | 只看该作者

回复 13# 的帖子

欢迎大家来讨论!!!

这段脚本是我看的别人的!!我也正在研究中!
希望哪位高人把这短脚本给注释的详细一些!!
谢谢!!!
回复 支持 反对

使用道具 举报

该用户从未签到

14#
发表于 2007-12-22 22:28:30 | 只看该作者

回复 12# 的帖子

应该把脚本看完整了再发言啊,同志们!!
获取随机值指的是:
  sprintf( Type,
                "{seatTypeList_%d}",
                1 + rand() % seatTypeCount );
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-25 08:31 , Processed in 0.075173 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表