LoadRunner中的參數與變量
在LoadRunner腳本開發中,經常會遇到參數與變量相互轉換的情況,本文對常見的轉換情形進行了方法總結。
1、變量的賦值
//將字符串賦值給變量 char strTemp[30]; strcpy(strTemp, "Hello World!!"); //錯誤的字符串賦值方式 strTemp = "Hello World!!"; /* 注: * 在LR中若直接將字符串賦值給變量,編譯時將會報錯 * 報錯信息:operands of = have illegal types `char' and `pointer to char' */ //將數值賦值給變量 int x = 10; /* 注: * 在LR中,變量的聲明一定要放在腳本的最前面,且聲明的語句中不要有其他的腳本代碼 * 若將以上申明放置在腳本中部,將會產生如下形式的報錯信息 * illegal statement termination * skipping 'int' * undeclared identifier 'x' */
2、參數的賦值
//將字符串賦值給參數 lr_save_string("Hello World!!","paraStr"); //將變量中的值賦值給參數 char strTemp[30]; strcpy(strTemp, "Hello World") ; lr_save_string(strTemp, "paraStr"); //將數值直接賦值給參數 lr_save_int(123, "paraNum"); //將變量中的數值賦值給參數 int num = 10; lr_save_int(num*2, "paraNum");
3、參數的取值
//從參數中進行取值,不管參數是字符串還是數值 lr_eval_string("{paraStr}"); lr_eval_string("{paraNum}"); //取出的值均爲字符串類型,因此輸出時格式需爲"%s" lr_output_message("%s", lr_eval_string("{paraNum}"));
4、參數=>變量
//將參數轉換爲字符串變量,參數paraStr中的值爲"Hello World!!" char strTemp[30]; strcpy(strTemp, lr_eval_string("{paraStr}")); lr_output_message("%s", strTemp); //將參數轉換爲數值變量,參數paraNum中的值爲"246" int num; num = atoi(lr_eval_string("{paraNum}")); //將字符串轉換爲數值 lr_output_message("%d", num); //將參數格式化輸出到變量 SeatPrefListCount = atoi( lr_eval_string("{SeatPrefList_count}") ); sprintf(varRandomSeatPref, "{SeatPrefList_%d}", 1+rand()%SeatPrefListCount); //將格式化的隨機日期寫入變量varRandomDepartDate sprintf(varRandomDepartDate, "%d/%d/%d", 1+rand()%12, 1+rand()%28, 2009+rand()%6);
5、參數=>參數
//參數的複製:將參數paraStr_1的值複製到參數paraStr_2 lr_save_string(lr_eval_string("{paraStr_1}"),"paraStr_2");