LoadRuner飞机票超级脚本

陈磊

Action()

{

    int i=0;//循环订票的游标变量

    char temp[255];//临时存储字符串变量

    int count=0;//存储循环关联数组长度变量

    char tempfly[255];//临时存储字符串变量

    

    web_url("WebTours",

        "URL=http://127.0.0.1:1080/WebTours/",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=",

        "Snapshot=t1.inf",

        "Mode=HTTP",

        LAST);

    web_concurrent_start(NULL);

    web_url("header.html",

        "URL=http://127.0.0.1:1080/WebTours/header.html",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/",

        "Snapshot=t2.inf",

        "Mode=HTTP",

        LAST);

    web_url("welcome.pl",

        "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/",

        "Snapshot=t4.inf",

        "Mode=HTTP",

        LAST);

    web_concurrent_end(NULL);

    web_concurrent_start(NULL);

    

    web_url("hp_logo.png",

        "URL=http://127.0.0.1:1080/WebTours/images/hp_logo.png",

        "Resource=1",

        "RecContentType=image/png",

        "Referer=http://127.0.0.1:1080/WebTours/header.html",

        "Snapshot=t3.inf",

        LAST);

    web_url("webtours.png",

        "URL=http://127.0.0.1:1080/WebTours/images/webtours.png",

        "Resource=1",

        "RecContentType=image/png",

        "Referer=http://127.0.0.1:1080/WebTours/header.html",

        "Snapshot=t5.inf",

        LAST);

    web_concurrent_end(NULL);

    web_concurrent_start(NULL);

    web_url("home.html",

        "URL=http://127.0.0.1:1080/WebTours/home.html",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true",

        "Snapshot=t6.inf",

        "Mode=HTTP",

        LAST);

    web_reg_save_param("sessionuser","LB=<input type=hidden name=userSession value=","RB=>",LAST);//获取用于session值的关联函数

    web_url("nav.pl",

        "URL=http://127.0.0.1:1080/WebTours/nav.pl?in=home",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true",

        "Snapshot=t7.inf",

        "Mode=HTTP",

        LAST);

    web_concurrent_end(NULL);

    web_concurrent_start(NULL);

    web_url("JSFormSubmit.js",

        "URL=http://127.0.0.1:1080/WebTours/JSFormSubmit.js",

        "Resource=1",

        "RecContentType=application/x-javascript",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",

        "Snapshot=t8.inf",

        LAST);

    web_url("mer_login.gif",

        "URL=http://127.0.0.1:1080/WebTours/images/mer_login.gif",

        "Resource=1",

        "RecContentType=image/gif",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",

        "Snapshot=t9.inf",

        LAST);

    web_concurrent_end(NULL);

    lr_start_transaction("login-0");

    lr_think_time(9);

    lr_error_message("sessionuser:%s",lr_eval_string("{sessionuser}"));//打印关联到的用户session值

    web_submit_data("login.pl",

        "Action=http://127.0.0.1:1080/WebTours/login.pl",

        "Method=POST",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home",

        "Snapshot=t10.inf",

        "Mode=HTTP",

        ITEMDATA,

        "Name=userSession", "Value={sessionuser}", ENDITEM,

        "Name=username", "Value=test001", ENDITEM,

        "Name=password", "Value=123456", ENDITEM,

        "Name=JSFormSubmit", "Value=on", ENDITEM,

        "Name=login.x", "Value=64", ENDITEM,

        "Name=login.y", "Value=15", ENDITEM,

        LAST);

    web_concurrent_start(NULL);

    web_url("nav.pl_2",

        "URL=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/login.pl",

        "Snapshot=t11.inf",

        "Mode=HTTP",

        LAST);

    web_url("login.pl_2",

        "URL=http://127.0.0.1:1080/WebTours/login.pl?intro=true",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/login.pl",

        "Snapshot=t16.inf",

        "Mode=HTTP",

        LAST);

    web_concurrent_end(NULL);

    web_concurrent_start(NULL);

    web_url("flights.gif",

        "URL=http://127.0.0.1:1080/WebTours/images/flights.gif",

        "Resource=1",

        "RecContentType=image/gif",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home",

        "Snapshot=t12.inf",

        LAST);

    web_url("signoff.gif",

        "URL=http://127.0.0.1:1080/WebTours/images/signoff.gif",

        "Resource=1",

        "RecContentType=image/gif",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home",

        "Snapshot=t13.inf",

        LAST);

    web_url("itinerary.gif",

        "URL=http://127.0.0.1:1080/WebTours/images/itinerary.gif",

        "Resource=1",

        "RecContentType=image/gif",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home",

        "Snapshot=t14.inf",

        LAST);

    web_url("in_home.gif",

        "URL=http://127.0.0.1:1080/WebTours/images/in_home.gif",

        "Resource=1",

        "RecContentType=image/gif",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home",

        "Snapshot=t15.inf",

        LAST);

    web_concurrent_end(NULL);

    lr_end_transaction("login-0",LR_AUTO);

    lr_start_transaction("book-1");

    lr_think_time(11);

    web_url("Search Flights Button",

        "URL=http://127.0.0.1:1080/WebTours/welcome.pl?page=search",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home",

        "Snapshot=t17.inf",

        "Mode=HTTP",

        LAST);

    web_concurrent_start(NULL);

    web_url("reservations.pl",

        "URL=http://127.0.0.1:1080/WebTours/reservations.pl?page=welcome",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?page=search",

        "Snapshot=t18.inf",

        "Mode=HTTP",

        LAST);

    web_url("nav.pl_3",

        "URL=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?page=search",

        "Snapshot=t19.inf",

        "Mode=HTTP",

        LAST);

    web_concurrent_end(NULL);

    web_concurrent_start(NULL);

    web_url("home.gif",

        "URL=http://127.0.0.1:1080/WebTours/images/home.gif",

        "Resource=1",

        "RecContentType=image/gif",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights",

        "Snapshot=t20.inf",

        LAST);

    web_url("itinerary.gif_2",

        "URL=http://127.0.0.1:1080/WebTours/images/itinerary.gif",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights",

        "Mode=HTTP",

        LAST);

    web_url("signoff.gif_2",

        "URL=http://127.0.0.1:1080/WebTours/images/signoff.gif",

        "Resource=0",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights",

        "Mode=HTTP",

        LAST);

    web_url("in_flights.gif",

        "URL=http://127.0.0.1:1080/WebTours/images/in_flights.gif",

        "Resource=1",

        "RecContentType=image/gif",

        "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights",

        "Snapshot=t21.inf",

        LAST);

    web_concurrent_end(NULL);

    web_url("button_next.gif",

        "URL=http://127.0.0.1:1080/WebTours/images/button_next.gif",

        "Resource=1",

        "RecContentType=image/gif",

        "Referer=http://127.0.0.1:1080/WebTours/reservations.pl?page=welcome",

        "Snapshot=t22.inf",

        LAST);

    web_reg_save_param("flytype","LB=<input type = radio name=outboundFlight value=","RB=>","ORD=ALL","Savelen=18",LAST);//关联取得出现的4张电子机票

//      web_reg_save_param("seatPref","LB=<input type=\"radio\" name=\"seatPref\" value=\"","RB=\" ","ORD=ALL","SaveLen=6",LAST);

//  web_reg_save_param("seatType","LB=<input type=\"radio\" name=\"seatType\" value=\"","RB=\" ","ORD=ALL","SaveLen=8",LAST);

//  lr_error_message("seatPref_1:",lr_eval_string("{seatPref_1}"));

//  lr_error_message("seatPref_2:",lr_eval_string("{seatPref_2}"));

//  lr_error_message("seatPref_3:",lr_eval_string("{seatPref_3}"));

//  lr_error_message("seatType_1:",lr_eval_string("{seatType_1}"));

//  lr_error_message("seatType_2:",lr_eval_string("{seatType_2}"));

//  lr_error_message("seatType_3:",lr_eval_string("{seatType_3}"));

    web_submit_data("reservations.pl_2",

        "Action=http://127.0.0.1:1080/WebTours/reservations.pl",

        "Method=POST",

        "RecContentType=text/html",

        "Referer=http://127.0.0.1:1080/WebTours/reservations.pl?page=welcome",

        "Snapshot=t23.inf",

        "Mode=HTTP",

        ITEMDATA,

        "Name=advanceDiscount", "Value=0", ENDITEM,

        "Name=depart", "Value=Denver", ENDITEM,

        "Name=departDate", "Value=05/29/2013", ENDITEM,

        "Name=arrive", "Value={endplace}", ENDITEM,

        "Name=returnDate", "Value=05/30/2013", ENDITEM,

        "Name=numPassengers", "Value=1", ENDITEM,

        "Name=seatPref", "Value={seatPerf}", ENDITEM,

        "Name=seatType", "Value={seatType}", ENDITEM,

        "Name=.cgifields", "Value=roundtrip", ENDITEM,

        "Name=.cgifields", "Value=seatType", ENDITEM,

        "Name=.cgifields", "Value=seatPref", ENDITEM,

        "Name=findFlights.x", "Value=80", ENDITEM,

        "Name=findFlights.y", "Value=15", ENDITEM,

        LAST);

    lr_error_message("seatPerf:%s",lr_eval_string("{seatPerf}"));

    lr_error_message("seatType:%s",lr_eval_string("{seatType}"));

    count = atoi(lr_eval_string("{flytype_count}"));

    lr_error_message("lenflytype:%d",count);

    lr_error_message("Flytype_1:%s",lr_eval_string("{flytype_1}"));

    lr_error_message("Flytype_2:%s",lr_eval_string("{flytype_2}"));

    lr_error_message("Flytype_3:%s",lr_eval_string("{flytype_3}"));

    lr_error_message("Flytype_4:%s",lr_eval_string("{flytype_4}"));

    for(i=0;i<count;i++)

    {

        sprintf(temp,"{flytype_%d}",i+1);//格式化flytype数组参数格式,取数组中一个存入temp变量

        //lr_save_string(temp,"flytypenum");

        lr_error_message("temp:%s",temp);//打印temp变量的内容

        sprintf(tempfly,"%s",lr_eval_string(temp));//将temp变量通过lr_eval_string函数将temp变量存储的对应loadrunner参数的对应内容存入tempfly变量中

        lr_error_message("tempfly:%s",tempfly);//打印tempfly变量的内容

        lr_error_message("lr_eval_string(tempfly):%s",lr_eval_string(tempfly));//通过lr_eval_string函数取得tempfly变量的内容

        lr_save_string(tempfly,"flytypenum");//将tempfly变量内容存到flytypenum参数中,方便以后lr函数使用

        lr_error_message("flytypenum:%s",lr_eval_string("{flytypenum}"));//打印flytypenum内容

        web_submit_data("reservations.pl_3",

            "Action=http://127.0.0.1:1080/WebTours/reservations.pl",

            "Method=POST",

            "RecContentType=text/html",

            "Referer=http://127.0.0.1:1080/WebTours/reservations.pl",

            "Snapshot=t24.inf",

            "Mode=HTTP",

            ITEMDATA,

            "Name=outboundFlight", "Value={flytypenum}", ENDITEM,

            "Name=numPassengers", "Value=1", ENDITEM,

            "Name=advanceDiscount", "Value=0", ENDITEM,

            "Name=seatType", "Value=Coach", ENDITEM,

            "Name=seatPref", "Value=None", ENDITEM,

            "Name=reserveFlights.x", "Value=63", ENDITEM,

            "Name=reserveFlights.y", "Value=17", ENDITEM,

            LAST);

        web_submit_data("reservations.pl_4",

            "Action=http://127.0.0.1:1080/WebTours/reservations.pl",

            "Method=POST",

            "RecContentType=text/html",

            "Referer=http://127.0.0.1:1080/WebTours/reservations.pl",

            "Snapshot=t25.inf",

            "Mode=HTTP",

            ITEMDATA,

            "Name=firstName", "Value=test001", ENDITEM,

            "Name=lastName", "Value=test001", ENDITEM,

            "Name=address1", "Value=test001", ENDITEM,

            "Name=address2", "Value=123456", ENDITEM,

            "Name=pass1", "Value=test001 test001", ENDITEM,

            "Name=creditCard", "Value=", ENDITEM,

            "Name=expDate", "Value=", ENDITEM,

            "Name=oldCCOption", "Value=", ENDITEM,

            "Name=numPassengers", "Value=1", ENDITEM,

            "Name=seatType", "Value=Coach", ENDITEM,

            "Name=seatPref", "Value=None", ENDITEM,

            "Name=outboundFlight", "Value={flytypenum}", ENDITEM,

            "Name=advanceDiscount", "Value=0", ENDITEM,

            "Name=returnFlight", "Value=", ENDITEM,

            "Name=JSFormSubmit", "Value=off", ENDITEM,

            "Name=.cgifields", "Value=saveCC", ENDITEM,

            "Name=buyFlights.x", "Value=61", ENDITEM,

            "Name=buyFlights.y", "Value=8", ENDITEM,

            LAST);

    }

    

    

    web_url("bookanother.gif",

        "URL=http://127.0.0.1:1080/WebTours/images/bookanother.gif",

        "Resource=1",

        "RecContentType=image/gif",

        "Referer=http://127.0.0.1:1080/WebTours/reservations.pl",

        "Snapshot=t26.inf",

        LAST);

    lr_end_transaction("book-1",LR_AUTO);

    return 0;

}