Performance

[Load Runner] Transaction 실패조건, 실패시 응답출력

ShineWithMe 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;
}