昨天在研究腳本的時候偶然遇到一個問題,今天正好有了點時間,就拿來再研究一下。
問題是這樣的:我想用strcpy函數把一個字符串賦給一個變量,再將這字符串做一個參數化,然后我想看看參數化是否成功,于是我用了lr_message函數把它打印出來。腳本代碼很簡單,如下所示:
Action()
{
char a[10];
strcpy(a,"{a}");
lr_message(a);
return 0;
}
其中,{a}我已經做了參數化,參數值為11。
運行這個腳本后,發現運行日志里打印出來的a值顯示為{a}。
在嘗試了N遍以后,我把lr_message(a);這句代碼改成lr_message(lr_eval_string(a));后問題解決,運行日志里打印出了我所期望的值11。
問題雖然解決了,但我還是很納悶,為什么在用lr_message的時候不能直接引用參數,而我記得之前在web_url、web_submit_data等函數里都是可以直接引用參數化的值,而從來沒有出現過問題。也許是在LoadRunner里,這幾個函數對參數值的引用方式不同吧,不知道我這樣想是否正確,希望大家批評指正!