-
[Load Runner] Transaction 실패조건, 실패시 응답출력Performance 2011. 10. 7. 11:38
Action()
{
double trTime;
int nFound;//lr_continue_on_error(1) // 1 continue, 0 stop
//lr_fail_trans_with_error(
lr_start_transaction("address");
web_set_max_html_param_len("262144"); // default max length is 256 characters
// web_reg_save_param("checkText", "LB=resu", "RB=lns", LAST);
// save entire body to a parameter
web_reg_save_param("ParamResponseBody", "LB=", "RB=", "Search=Body", LAST); // 응답 body 전체 변수에 저장
web_reg_find("Search=Body",
"Text=result",
"SaveCount=resultCount",
LAST); // "result 문구 있으면 갯수 새기
web_save_header(REQUEST,
"request"); // 요청 전체 저장web_url("searchCoordToAddr",
"URL=http://..........보안상 생략.......coord={coord_value})",
"Resource=0",
"RecContentType=text/xml",
"Referer=",
"Snapshot=t1.inf",
"Mode=HTML",
LAST);
trTime = lr_get_transaction_duration("address"); // TR 응답시간 저장
web_cache_cleanup(); // 캐시 삭제nFound = atoi(lr_eval_string("{resultCount}")); // 응답안에 "result" 갯수 저장
if(nFound == 2) { // "result"문구가 2개 이상이면
if (0.3 < trTime) { // 응답시간이 0.3s 이상이면
lr_output_message("Response Time over 0.3s : RT = {trTime}"); // 응답시간 출력
lr_output_message(lr_eval_string("{request}")); // 요청 출력
lr_output_message(lr_eval_string("{ParamResponseBody}")); // 응답출력
lr_end_transaction("address", LR_FAIL); // TR 실패
} else { // 응답시간이 0.3s 이하이면
lr_end_transaction("address", LR_AUTO); // TR 성공
}
}
else { // "result"문구 없으면
lr_output_message(lr_eval_string("{request}")); // 요청 출력
lr_output_message(lr_eval_string("{ParamResponseBody}")); // 응답 출력
lr_end_transaction("address", LR_FAIL); //TR 실패
}return 0;
}