微笑着面对每天,善待自己……

loadrunner DLL调用

上一篇 / 下一篇  2009-06-17 17:57:23 / 个人分类:技术


有关DLL的编写代码,在VC里面新建一个Win32 Dynamic-Link Library类型的空项目,源码如下:
// DllProject.cpp : Defines the entry point for the DLL application.
//
#include <windows.h>
#define  DLLEXPORT extern "C" _declspec(dllexport)

DLLEXPORT int add(int a, int b);
DLLEXPORT int sub(int a, int b);

BOOL APIENTRY DllMain( HANDLE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
                     )
...{
    switch( ul_reason_for_call )
    ...{
    case DLL_PROCESS_ATTACH:
        break;
    case DLL_THREAD_ATTACH:
        break;
    case DLL_THREAD_DETACH:
        break;
    case DLL_PROCESS_DETACH:
        break;
    default:
        break;
    }   
    return TRUE;
}

int add(int a ,int b)
...{
    return a+b;
}

int sub(int a ,int b)
...{
    return a-b;
}
编译生成dll文件,然后在Loadrunner中调用,代码如下:
Action()
...{
    lr_load_dll("C:\tmp\DllProject\Debug\DllProject.dll");
    lr_output_message(" %d",add(5,6));
    lr_output_message(" %d",sub(5,6));
    return 0;
}

 

 

 


在globals.h中增加:
#ifdef unix
        char *filename = "/tmp/logfile.txt";
#else
        char *filename = "c:\\logfile.txt";
#endif
long file_stream;

file_open(char *file_name){
        if ((file_stream = fopen(file_name, "w")) == NULL ) {
                lr_error_message("Cannot open %s", file_name);
                return -1;
        }
}

file_close(char *file_name){
    if (fclose(file_stream))
          lr_error_message("Error closing file %s", filename);
     return 0;
}

在vuser_init的头上增加:
file_open(filename);

在action中增加:

long t1;
time(&t1);

fprintf(file_stream, "%s,BMSSCMBN,MOBILENO\n",ctime(&t1));

在vuser_end的尾上增加:
file_close(filename);

 

 


TAG:

 

评分:0

我来说两句

evergreen_wang

evergreen_wang

测试因仔

日历

« 2024-04-18  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 28997
  • 日志数: 52
  • 文件数: 6
  • 建立时间: 2009-06-17
  • 更新时间: 2011-05-31

RSS订阅

Open Toolbar