性能測試學習06_lr(完成業務流程腳本編寫)

一、完成(註冊,登陸,重置支付密碼,下訂單,支付訂單,獲取訂單列表)html

二、下訂單備註信息用中文(lr_convert_string_encoding)進行處理java

三、web_convert_param對token進行URLcodeweb

完整升級版接口編寫算法

支付平臺腳本的總體思路:
1.先編寫註冊腳本,關聯註冊成功返回token,關聯註冊成功返回的code,關聯註冊成功返回的手機號,判斷是否註冊成功;
2.登陸,使用註冊手機號及密碼進行登陸,關聯登陸成功返回的code,判斷是否登陸成功;
3.重置支付密碼,重置密碼須要使用md5加密,關聯重置支付密碼成功返回的code,判斷是否重置成功;
1)使用md5加密方法,右鍵點擊Extra_Files,選擇添加腳本路徑,找到md5.h文件,完成添加;
2)點擊globals.h,添加引入的md5.h的文件;
3)使用方法:經過簡單的test腳本進行練習

   代碼以下:json

Action()
{    
    lr_save_string(CMd5("12345"),"payPassword"); 
    lr_output_message("本次運行結果%s:",lr_eval_string("{payPassword}"));

    return 0;
}
4.下訂單操做,關聯下訂單返回的payId,關聯下訂單返回的code,判斷是否下訂單成功;
5.支付訂單,關聯支付訂單返回的code,判斷是否支付成功;
6.查看訂單,關聯查看訂單返回的code,判斷是否查當作功,
1)因爲token在請求頭中,因此須要urlcode編碼關聯
代碼以下:
Action()
{
    
    lr_save_string("請填寫你的IP", "IP");
    lr_save_string(CMd5("12345"),"payPassword");
                                               
//設置token關聯
    web_reg_save_param_ex(
        "ParamName=token",
        "LB=token\":\"",
        "RB=\",",
        //"DFEs=test",
        //"NotFound=warning",
        "Ordinal=1",
        //"SaveOffset=2",
        //"SaveLen=3",
        SEARCH_FILTERS,
        "Scope=ALL",
        //"RelFrameID=1",
        //"RequestUrl=testURL",
        //"ContentType=text/html",
        LAST );
//關聯註冊手機號
    web_reg_save_param_ex(
        "ParamName=register_mobile",
        "LB=\"mobile\":\"",
        "RB=\",\"email\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );
//關聯註冊成功code
    web_reg_save_param_ex(
        "ParamName=register_code",
        "LB=\"code\":",
        "RB=,\"msg\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );
    
//註冊
lr_start_transaction("註冊");

    web_custom_request("register",
        "URL=http://{IP}/mobile/api/user/register",
        "Method=POST",
        "TargetFrame=",
        "Resource=1",
        "Referer=",
        "Mode=HTTP",
        "EncType=application/json;charset=utf-8",
        "Body={\"mobile\":\"1588888{mobile_num}\",\"password\":\"123456\",\"code\":\"3367\",\"platform\":\"windows\"}",
        LAST);            
//判斷是否註冊成功
       //strcmp(str1,str2):比較兩str的大小
       if(strcmp(lr_eval_string("{register_code}"),"0")==0)
    {
       lr_end_transaction("註冊",LR_PASS);
       lr_error_message("註冊code:%s,註冊手機:%s,token:%s",lr_eval_string("{register_code}"),lr_eval_string("{register_mobile}"),lr_eval_string("{token}"));
    }
   else
    {
       lr_end_transaction("註冊",LR_FAIL);
    }

 
//關聯登陸成功code
    web_reg_save_param_ex(
        "ParamName=login_code",
        "LB=\"code\":",
        "RB=,\"msg\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );  
//登陸
lr_start_transaction("登陸");

    web_custom_request("login",
        "URL=http://{IP}/mobile/api/user/login ",
        "Method=POST",
        "TargetFrame=",
        "Resource=1",
        "Referer=",
        "Mode=HTTP",
        "EncType=application/json ",
        "Body={\"mobile\":\"{register_mobile}\",\"password\":\"123456\"}",
        LAST);
//判斷是否登陸成功
       //strcmp(str1,str2):比較兩str的大小
       if(strcmp(lr_eval_string("{login_code}"),"0")==0)
    {
       lr_end_transaction("登陸",LR_PASS);
       lr_error_message("登陸code:%s",lr_eval_string("{login_code}"));
    }
   else
    {
       lr_end_transaction("登陸",LR_FAIL);
    }


//關聯重置支付密碼的msg
web_reg_save_param_ex(
        "ParamName=resetpaywd_msg",
        "LB=\"msg\":\"",
        "RB=\",\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );
   
//關聯重置支付密碼成功code
    web_reg_save_param_ex(
        "ParamName=resetpaywd_code",
        "LB=\"code\":",
        "RB=,\"msg\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );

//重置支付密碼
lr_start_transaction("重置支付密碼");

    web_custom_request("resetpaywd",
        "URL=http://{IP}/mobile/api/user/resetpaypwd",
        "Method=POST",
        "TargetFrame=",
        "Resource=1",
        "Referer=",
        "Mode=HTTP",
        "EncType=application/json ",
        "Body={\"token\":\"{token}\",\"password\":\"{payPassword}\"}",
        LAST);
//判斷是否重置支付密碼成功
       //strcmp(str1,str2):比較兩str的大小
       if(strcmp(lr_eval_string("{resetpaywd_code}"),"0")==0)
    {
       lr_end_transaction("重置支付密碼",LR_PASS);
       lr_convert_string_encoding(lr_eval_string("{resetpaywd_msg}"),"utf-8",NULL,"resetpaywd_msg");
       lr_error_message("重置支付密碼code:%s,重置支付密碼msg:%s",lr_eval_string("{resetpaywd_code}"),lr_eval_string("{resetpaywd_msg}"));
    }
   else
    {
       lr_end_transaction("重置支付密碼",LR_FAIL);
    }


//關聯padId
    web_reg_save_param_ex(
        "ParamName=payId",
        "LB=\"payId\":\"",
        "RB=\",\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );
//關聯下訂單code
    web_reg_save_param_ex(
        "ParamName=addorder_code",
        "LB=\"code\":",
        "RB=,\"msg\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );
//關聯下訂單的msg
    web_reg_save_param_ex(
        "ParamName=addorder_msg",
        "LB=\"msg\":\"",
        "RB=\",\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );
//下訂單
lr_start_transaction("下訂單");

    web_custom_request("addorder",
        "URL=http://{IP}/mobile/api/order/addorder",
        "Method=POST",
        "TargetFrame=",
        "Resource=1",
        "Referer=",
        "Mode=HTTP",
        "EncType=application/json ",
        "Body={\"token\":\"{token}\",\"getAddrId\":1,\"getCarId\":23,\"payType\":2,\"remark\":\"123\",\"price\":1.1,\"orders\":[{\"getTime\":1450921104000,\"goodss\":[{\"goodsId\":93,\"count\":1},{\"goodsId\":96,\"count\":1}]}],\"invoiceTitle\":\"fapiao\"}",
        LAST);
//判斷是否下訂單成功
       //strcmp(str1,str2):比較兩str的大小
       if(strcmp(lr_eval_string("{addorder_code}"),"0")==0)
    {
       lr_end_transaction("下訂單",LR_PASS);
       lr_convert_string_encoding(lr_eval_string("{addorder_msg}"),"utf-8",NULL,"addorder_msg");
       lr_error_message("下訂單code:%s,訂單padId:%s,下單訂msg:%s",lr_eval_string("{addorder_code}"),lr_eval_string("{payId}"),lr_eval_string("{addorder_msg}"));
    }
   else
    {
       lr_end_transaction("下訂單",LR_FAIL);
    }  

   
//關聯支付訂單code
    web_reg_save_param_ex(
        "ParamName=pay_code",
        "LB=\"code\":",
        "RB=,\"msg\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );
//支付訂單
lr_start_transaction("支付訂單");

    web_custom_request("pay",
        "URL=http://{IP}/mobile/api/pay/pay",
        "Method=POST",
        "TargetFrame=",
        "Resource=1",
        "Referer=",
        "Mode=HTTP",
        "EncType=application/json ",
        "Body={\"token\":\"{token}\",\"payId\":\"{payId}\",\"payPwd\":\"{payPassword}\",\"platform\":3}",
        LAST);
//判斷是否支付訂單成功
       //strcmp(str1,str2):比較兩str的大小
       if(strcmp(lr_eval_string("{pay_code}"),"0")==0)
    {
       lr_end_transaction("支付訂單",LR_PASS);
       lr_error_message("支付訂單code:%s,",lr_eval_string("{pay_code}"));
    }
   else
    {
       lr_end_transaction("支付訂單",LR_FAIL);
    }  
   
  
//對token進行urlcode編碼
    lr_save_string(lr_eval_string("{token}"),"tokenUTF8");//把token進行urlcode編碼
    web_convert_param(
    "tokenUTF8",                                        //參數名稱,轉換後的字符串被保存在該參數            
    "SourceEncoding=PLAIN",                                //編碼的數據類型HTML、URL、plain
    "TargetEncoding=URL",                                //目標數據的編碼類型
    LAST );       
//關聯查看訂單code
    web_reg_save_param_ex(
        "ParamName=getorders_code",
        "LB=\"code\":",
        "RB=,\"msg\"",
        "Ordinal=1",
        SEARCH_FILTERS,
        "Scope=ALL",
        LAST );
lr_start_transaction("查看訂單");

//查看訂單
    web_custom_request("getorders",
        "URL=http://{IP}/mobile/api/order/getorders?offset=0&token={tokenUTF8}",
        "Method=GET",
        "TargetFrame=",
        "Resource=1",
        "Referer=",
        "Mode=HTTP",
        "EncType=application/json ",
        LAST);
//判斷是否查看訂單成功
       //strcmp(str1,str2):比較兩str的大小
       if(strcmp(lr_eval_string("{getorders_code}"),"0")==0)
    {
       lr_end_transaction("查看訂單",LR_PASS);
       lr_error_message("查看訂單code:%s,",lr_eval_string("{getorders_code}"));
    }
   else
    {
       lr_end_transaction("查看訂單",LR_FAIL);
    }  

   return 0;
}

 預先安裝(LR11:安裝jdk1.6 32位,LR12:安裝jdk1.7 32位),安裝包在網盤裏面windows

預習:java相關知識,用java完成md5算法加密,網上通用的,用java請求HTTP接口,提早安裝idea工具(https://www.jetbrains.com/idea/download/#section=windowsapi

Community免費版)

相關文章
相關標籤/搜索