/*
目的:使用for循環添加多條有規律的數據,比如說:a1、a2、a3......a1000
方法:從上面看1-1000是一個有序序列,并且前面的a都是固定的,所以只需要用for循環將1-1000循環出來就可以了。
但是loadrunner使用的是C語言的語法,所以不能向在java中一樣,將兩個變量直接相加(+)(+:連字符)
所以這個時候就需要將首先將int變量轉換成string,然后再用lr_save_string()函數將該變量用loadrunner可以識別的參數化方式保存起來,再應用到錄制的腳本中就可以了
函數簡介:
int itoa ( int value, char *str, int radix ); |
函數目的:將int類型轉換成string
參數介紹:value: 要轉換的int型的值
str: 目標字符串,即將轉換成的string值保存到str中
radix:轉換數字時所用的基數 10:十進制;2:二進制……
int lr_save_string (const char *param_value, const char *param_name); |
函數目的:將param_value值保存到param_name變量中
參數介紹:param_value:要保存的值
param_name: 變量名稱
問題:為什么要用itoa()和lr_save_string()兩個函數相結合使用呢?
因為lr_save_string()中的兩個參數都是char類型的指針,int類型的值必須經過轉換才能在lr_save_string()函數中使用,所以此處就要將itoa()和lr_save_string()兩個函數相結合使用。
*/
Action() { int i; char str[100]; //定義一個數組用來保存int類型轉換后的值 for(i=0;i<=9;i++){ itoa(i,str,10); lr_save_string(str,"ID"); lr_output_message("==str:=%s==ID:=%s====",str,lr_eval_string("{ID}")); } |
/*
用lr_save_string()將數組保存到變量中以后就可以應用到Loadrunner錄制的腳本中了
{ID}:是loardrunner識別參數的方式
web_url("login", "URL=http://server0.im.sonoro.cn:18001/login?username=a{ID}&password=test&autoLogin=false&1211433835878&1211433835878", "TargetFrame=", "Resource=0", "RecContentType=text/html", "Referer=http://server0.im.sonoro.cn:18001/proxy.html?1211433821547", "Snapshot=t6.inf", "Mode=HTML", LAST); */ return 0; } |
版權聲明:51Testing 軟件測試網及相關內容提供者擁有51testing.com內容的全部版權,未經明確的書面許可,任何人或單位不得對本網站內容復制、轉載或進行鏡像。 51testing軟件測試網歡迎與業內同行進行有益的合作和交流,如果有任何有關內容方面的合作事宜,請聯系我們。
lr_eval_string()函數的主要是返回腳本中的一個參數當前的值,返回值類型為char型.一般多用在調試腳本時輸出參數的值.具體用法如下:
lr_output_message("The parameter1's value is %s",lr_eval_string("{parameter1}")),其中參數parameter1在之前已經定義了.你的代碼中將int型數據拷 貝到char型數組里是不行的,參考一下2#樓的代碼.
1 lr_eval_string(), eval應該是evaluate的縮寫。
功能 如果只有一個參數,則返回當前參數的值。它的參數必須是{newParam} 的形式,也就是被大括號包起來
應用:對每個迭代過程中需要需要使用參數化的內容的時候。lr_output_message("value : %s", lr_eval_string("The row count is: {row_cnt}"));
例如:有一個int的參數化值{paraInt},如果直接把它作為一個int是錯的。必須atoi(lr_eval_string({ParaInt}))
所以不能直接把一個int變量作為參數。
2.如何實現“我想把iTemp轉換成字符串存到變量chArr里”
int iTemp=3;
char chArr[1024] = {0};
// if not unicode
itoa( itemp, charr, 10 );
應該可以