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