使用lr測試json接口,向服務端發送json格式請求,接收處理返回響應數據。html
主要用到函數:web
1)web_custon_requestjson
2)web_reg_save_param (此函數經常使用戶處理動態參數,該方法在LoadRunner中被稱爲Correlation(關聯))app
/* 定義事務: 1)用戶註冊 2)用戶登陸 3)用戶簽到 接口爲:application/json 思路: 1)app註冊,獲到mobile 2)使用獲取到的mobile登陸,獲取tokenid和userid。 參數化:手機號碼、設備號 */
Action() { //定義接口url char *Interface_Url; lr_save_string("http://192.168.0.1:8080/action.a","Interface_Url"); //註冊事務開始 lr_start_transaction("用戶註冊"); lr_rendezvous("register"); //檢查用戶是否註冊成功 web_reg_find("Search=Body", "Text=createTime", "SaveCount=createTime", LAST); //web_set_max_html_param_len("10000000"); //獲取用戶註冊後響應數據,並傳給mobile web_reg_save_param("mobile", "LB=\"mobile\":\"", //設置左邊界 "RB=\",", //設置右邊界 "Ord=1", "Notfound=empty", "Search=Body", LAST); web_custom_request("register", "Url={Interface_Url}", //設置url "Method=POST", //設置方法,post或get "Mode=HTTP", "EncType=application/json", //編碼類型 "RecContentType=application/json", "Body={\"c\":\"1001\",\"p\":{\"code\":\"9051\",\"mobile\":\"{phone}\",\"pwd\":\"123456\",\"model\":\"{model}\",}}", //請求主體,json格式,分號前須要加斜槓 LAST); lr_vuser_status_message("註冊事務,虛擬用戶數 #%s",lr_eval_string("{phone}")); lr_end_transaction("用戶註冊",LR_AUTO); //登陸事務開始 lr_start_transaction("用戶登陸"); lr_rendezvous("login"); web_reg_find("Search=Body", "Text=lastLoginTime", "SaveCount=lastLoginTime", LAST); //獲取用戶登陸後響應數據tokenId,並傳給pdl_dynamic_tokenId web_reg_save_param("pdl_dynamic_tokenId", "LB=\"tokenId\":\"", "RB=\"", "Ord=1", "Notfound=empty", "Search=Body", LAST); //從用戶登陸響應數據中,獲取pdl_user_id web_reg_save_param("pdl_user_id", "NotFound=warning", "LB=\"id\":", "RB=,\"inviteCode", "Ord=1", "Search=Body", LAST); web_custom_request("login", "Url={Interface_Url}", "Method=POST", "Mode=HTTP", "EncType=application/json", "RecContentType=application/json", "Body={\"c\":\"1002\",\"p\":{\"mobile\":\"{pdl_mobile}\",\"pwd\":\"123456\"}}", LAST); lr_end_transaction("用戶登陸",LR_AUTO); //用戶簽到 lr_start_transaction("用戶簽到"); lr_rendezvous("Sign_in"); web_reg_find("Search=Body", "Text=signDate", "SaveCount=signDate", LAST);
web_custom_request("pdl_Sign_in", "Url={Interface_Url}", "Method=POST", "Mode=HTTP", "EncType=application/json", "RecContentType=application/json", "Body={\"c\":\"1014\",\"p\":{\"userId\":\"{pdl_user_id}\",\"tokenId\":\"{pdl_dynamic_tokenId}\"}}", LAST); lr_end_transaction("用戶簽到",LR_AUTO); return 0; }