最近寫了很多loadrunner腳本,記錄一下心得:
1 loadrunner腳本基本能夠認爲就是c語言代碼(loadrunner支持不一樣語言的腳本,默認生成的是用c語言寫的腳本)
2 loadrunner本身實現了一個c編譯器及對應的ide(也就是vugen),因此有一些地方跟咱們經常使用的開發習慣不同。loadrunner內置編譯編譯器懷疑是在gcc基礎上改的,由於一些語法特性跟gcc比較像。
3 loadrunner的c編譯器實現了很多標準庫函數,但不提供對應的頭文件。因此使用到庫函數(如malloc)時最好本身聲明。(否則malloc會被編譯器認爲是未知函數,返回值是int類型)
4 一些特殊的庫函數,如atof必須提早聲明,由於其返回值是double類型,而sizeof(double)跟sizeof(int)是不同的,這會致使返回值異常。
5 loadrunner可使用#include包含頭文件,但因爲沒有提供標準庫頭文件,因此#include <stdio.h>這樣會報錯,stdio.h找不到
6 loadrunner具體實現了哪些標準庫函數能夠查看幫助
7 loadrunner提供了很多額外函數輔助編寫測試代碼,這些函數以lr_打頭,同樣在幫助文檔裏面有。我以爲比較好用的是日誌、http訪問、變量轉換系列函數。
8 loadrunner編譯腳本時是把工程裏面vuser_init.c Action.c vuser_end.c合併到一個文件再編譯,因此在這些文件裏面聲明的static變量會相互影響
9 loadrunner腳本程序棧空間很小,因此大數組最好用malloc動態生成
10 VuGen動畫模式下運行腳本速度很慢,由於每執行一行腳本代碼前,VuGen都會將光標跳到改行代碼並高亮,很耗時。(12版本這個問題很是明顯,15版本好不少)把動畫模式關閉運行速度能提升很多,可是仍是遠不如在Controller裏面執行腳本的速度。數組