LoadRunner對(duì)腳本的的幾點(diǎn)建議
1.設(shè)置斷點(diǎn)
相信大家都不陌生,LR也是可以設(shè)置斷點(diǎn)的,在需要設(shè)置斷點(diǎn)的語(yǔ)句前按F9快捷鍵,斷點(diǎn)就設(shè)置好了,程序運(yùn)行到斷點(diǎn)語(yǔ)句后會(huì)暫停,這時(shí)我們可以用F10單步調(diào)試程序.
2.打開(kāi)EXtended Log
只是設(shè)置斷點(diǎn)是不夠的,我們還得知道具體發(fā)生了什么事情,Log告訴了我們一切,默認(rèn)的Log是standard Log,這時(shí)遠(yuǎn)遠(yuǎn)不夠的.我們要extended log,打開(kāi)路徑為runtime settings-->log-->extended log.把parameter substitution和data returned by server和advanced trace大家根據(jù)需要勾選吧.
3.注釋掉多余的語(yǔ)句
很多回放時(shí)出錯(cuò)的腳本都是因?yàn)槎嘤嗟恼Z(yǔ)句.因?yàn)長(zhǎng)R在錄制的時(shí)候,LR生成的語(yǔ)句很多不是我們想要的,這里結(jié)合幾個(gè)網(wǎng)友的問(wèn)題說(shuō)說(shuō),曾有網(wǎng)友問(wèn):回放腳本的時(shí)
候 socket出錯(cuò),提示: Error : socket0 - Address already in use. Error code: 10048.而且非常堅(jiān)持說(shuō)腳本不會(huì)有問(wèn)題,因?yàn)槟_本直接錄制后回放,什么都沒(méi)改,是不會(huì)出錯(cuò)的.拿到腳本一看,有一條語(yǔ)句 lrs_create_socket,建立了socket0,但是之后沒(méi)有任何socket0的語(yǔ)句,可以判斷出該語(yǔ)句是無(wú)效的,注釋掉,問(wèn)題解決。所以 大家不要過(guò)分相信LR了,它生成的語(yǔ)句也是有很多BUG的。
經(jīng)常有朋友們問(wèn)到,log文件在哪看,特別是controll執(zhí)行后,怎么看log。這里一一說(shuō)明一下:
(1)在vgen中,我們必須寫輸出函數(shù)輸出信息,將我們所想要了解的信息用函數(shù)輸出,主要有這么幾個(gè)函數(shù)輸出信 息:lr_output_message,lr_error_message,lr_log_message。這些函數(shù)請(qǐng)參閱 help-->function reference.
其次,我們要在runtime settings中設(shè)置,勾選always send messages,具體的做法是:runtime settings--->log-->always send messages,這樣我們才能寫出Log,在我們的腳本所在的文件夾中,有兩個(gè)文件很重要,mdrv.log.txt和output.txt文 件,lr_log_message只會(huì)把信息輸?shù)絤drv.log文件中,而lr_output_message則會(huì)寫進(jìn)以上兩個(gè)文件。
(2)在controller中,很多朋友都會(huì)想知道多次迭代,參數(shù)是否正確的導(dǎo)入了呢,我們依舊查看log,我們?cè)趫?zhí)行結(jié)束后,查看結(jié)果目錄 的Log文件夾,如果是負(fù)載生成器運(yùn)行的話,則在tmp目錄。不過(guò),還想提醒朋友們,在controller我們也要設(shè)置runtime settings才行,而且每個(gè)用戶組的runtime settings,設(shè)置的方法是:在controller的design標(biāo)簽頁(yè)中,右下角的部分有runtime settings按鈕,我們點(diǎn)擊它,設(shè)置的方法與在vgen中一樣的。