目的:使用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; } |