LoadRunner里的函數比較少,沒有MD5、Base64加密。
我們可以通過在C++里把一些加解密寫成函數,供LR調用。
DLL函數編寫
C++里新建工程Class Library(此處是用VS2005,在VS6是:Win32 Dynamic-Link Library)
創建了一個叫LrLoadDll的工程,在LrLoadDll.cpp里編寫以下代碼:
#define LRLOADDLL __declspec(dllexport) extern"C" LRLOADDLL int Sum(int a,int b); extern"C" LRLOADDLL void GetString(char*out); LRLOADDLL int Sum(int a,int b) { return a + b; } LRLOADDLL void GetString(char*out) { char* showString ="hello world!"; strcpy(out,showString); delete showString; }
編譯出一個LrLoadDll.dll 的文件,下面就可以在LR里直接調用了。
LoadRunner調用Dll過程
當創建完LR工程就可以把dll添加進來當前腳本使用了,在腳本區域點右鍵選擇Add Files to Script,彈出對放選擇剛剛C++編出來的dll就可以了。
在調用前必須加載dll,你可以放在verser_init里加載,也可以在action里用到的時候加載,這樣都可以(個人傾向於前者)。
vuser_init() { lr_load_dll("LrLoadDll.dll"); return0; } 調用: Action() { char* showString; int a = Sum(5,5); GetString(showString); lr_message("-------%d-------",a); lr_message("-------%s-------",showString); return0; }
輸出結果:
-------10-------
-------hello world!-------
這樣就OK了!