• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 如何使用LoadRunner調用外部DLL動態鏈接庫(2)

    發表于:2011-11-09來源:未知作者:領測軟件測試網采編點擊數: 標簽:
    該動態鏈接庫編譯成功后,打開MyDll工程中的de bug 目錄,可以看到MyDll.dll、MyDll.lib兩個文件。LIB文件中包含DLL文件名和DLL文件中的函數名等,該LIB文件只是

      該動態鏈接庫編譯成功后,打開MyDll工程中的debug目錄,可以看到MyDll.dll、MyDll.lib兩個文件。LIB文件中包含DLL文件名和DLL文件中的函數名等,該LIB文件只是對應該DLL文件的"映像文件",與DLL文件中,LIB文件的長度要小的多,在進行隱式鏈接DLL時要用到它。讀者可能已經注意到在MyDll.h中有關鍵字"extern C",它可以使其他編程語言訪問你編寫的DLL中的函數。

      LoadRunner調用動態鏈接庫

      上面完成動態鏈接庫開發后,下面就介紹動態鏈接庫如何被LoadRunner進行調用,其實也是很簡單的。在LoadRunner中的DLL調用有局部調用與全局調用,下面介紹局部調用。

      首先把你編譯的DLL放在角本路徑下面,這里是MyDll.dll,MyDll.lib.然后在Action中使用

      lr_load_dll("MYDll.dll"),此函數可以把DLL加載進來,讓你調用DLL里面的函數,而DLL中的運算是編譯級的,所以效率極高,代碼樣例如下:

      #include "lrs.h"

      Action()

      {

      //

      int nRet = 6;

      char srckey[129];

      memset(srckey, 'a', 128);

      lr_message(lr_eval_string(srckey));

      lr_load_dll("MyDLL.dll");

      nRet = desinit(5,8);

      lr_message("比較的結果為%d",nRet);

      return 0;

      }

      運行結果

      比較的結果為8

      全局的動態鏈接庫的調用則需要修改mdrv.dat,路徑在LoadRunner的安裝目錄下面(LoadRunner/dat directory);在里面修改如例:

      [WinSock]

      ExtPriorityType=protocol

      WINNT_EXT_LIBS=wsrun32.dll

      WIN95_EXT_LIBS=wsrun32.dll

      LINUX_EXT_LIBS=liblrs.so

      SOLARIS_EXT_LIBS=liblrs.so

      HPUX_EXT_LIBS=liblrs.sl

      AIX_EXT_LIBS=liblrs.so

      LibCfgFunc=winsock_exten_conf

      UtilityExt=lrun_api

      ExtMessageQueue=0

      ExtCmdLineOverwrite=-WinInet No

      ExtCmdLineConc=-UsingWinInet No

      WINNT_DLLS=user_dll1.dll, user_dll2.dll, ...

      //最后一行是加載你需要的DLL

      這樣你就可以在LR中隨意的調用程序員寫的API函數,進行一些復雜的數據加密,準備的一些操作,進行復雜的測試。同時如果你覺的有大量高復雜的運算也可以放在DLL中進行封裝,以提高效率。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>