LoadRunner使用动态链接库技术

什么是动态库?

  动态库一般又叫动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件。动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译、链接并与使用它们的进程分开存储的函数。DLL 还有助于共享数据和资源。多个应用程序可同时访问内存中单个DLL 副本的内容。DLL 是一个包含可由多个程序同时使用的代码和数据的库。

 

  我们都知道,我们在编程时会调外部库函数,因为程序的中许多代码都是可以复用的,调用外部函数就大大的简化了我们的工作量。代码编写完成后,需要编译才能运行,在编译的过程中,会把程序中调用的函数库加载到内存里。这就是静态链接方式。

  假如有一个函数库,A程序要使用它,然后把函数库的内容全部加载自己的程序中。B程序也要使用这个函数库,B程序也把函数库的内容也全都加载到自己的程序中;这样同样一个东西重复出现在多个程序中,就会造成是种内存的浪费。所以,我们把被多个程序调用的函数放在一个公其的地方,就这一份。谁需要谁调用。这就是动态链接方式。

 

Loadrunner为什么要使用动态库? 

  DLL最重要的一个特点就扩展应用程序的特性。 再强大的工具也有不是万能的,通过调用动态库的方法极大地增强loadrunner的功能。当你在用loadrunner对于某些需求的测试感鞭长莫及时,这也是一种思路或方式。

 

使用动态库方法                                                                       

 

创建一个动态库

  动态连接库支持所有windows下的编程。 VB、Dephi、C#、C/C++等。我们这里用VC++进行演示。

下面通过VC++ 6.0中文版来创建一个动态函数。

打开VC++ 6.0,新建一个工程,这里先择工程类型为“Win32 Dynamic-link Library”,起一个工程名称,并选择好存方位置。

 

 

点击“确定”按钮,会询问你希望创建什么类型的DLL?

我们选择第三项一个可以导出某些符号的DLL工程(D

点击确定,系统会给我们创建两个文件MyDLL.h和MyDLL.cpp

 

分别对两个文件进行编写代码

MyDLL.h

extern "C" MYDLL_API int lr_demo(int,int);

因为我们的loadrunner 的VuGen是一个C语言的解释器与编译器,只支持纯的C语言,不支持C++ ,所以,我们要在前面加“extern "C"”将函数转义成纯的C语言。

 

MyDLL.cpp

MYDLL_API int lr_demo(int x ,int y)
{
    int sum;
    sum = x + y;

    return sum;
}

  

选择“工具”菜单---组建[MyDLL.dll] 或直接按F7程序进行编译。

编译完成后,提示没有错误与警告,说明我们成功了!

--------------------Configuration: MyDLL - Win32 Debug--------------------
Compiling...
MyDLL.cpp
Linking...
   Creating library Debug/MyDLL.lib and object Debug/MyDLL.exp

MyDLL.dll - 0 error(s), 0 warning(s)

在loadrunnre中调用动态库

  下面打开我们的loadrunner 的VuGen ,写入下面代码。

Vuser_init 部分

vuser_init()
{

    int ret;

    ret=lr_load_dll("C:\\Users\\Administrator\\Desktop\\loadrunner\\MyDLL\\Debug\\MyDLL.dll");   //调用我们本地的函数文件,因为单斜杠(\)会被C语言转义,所以要用两个斜杠(\\)来表示路径。

    if(ret!=0) return -1;

    return 0;
}

 Action部分

Action()
{

    int sum;

    sum=lr_demo(1,2);   //lr_demo 与我们vc++中的函数名一致

    lr_output_message("this sume is :%d\n",sum);  //输出运算结果

    return 0;
}

运行结果:



Starting iteration 1.
Starting action Action.
Action.c(8): this sume is :3
Ending action Action.
Ending iteration 1. 

  从上面的代码看出。我们的loadrunner中并没有对数据进行计算,真正计算的代码是调用DLL函数库的代码。这样就大大增强了loadrunner的能力,而这种方式也使我们测试结果更加准确。虽然上面代码简单。但这无疑是一种扩展思路。

时间: 2024-11-08 20:08:02

LoadRunner使用动态链接库技术的相关文章

LoadRunner中如何使用动态链接库技术

什么是动态库? 动态库一般又叫动态链接库英文为DLL,是Dynamic Link Library 的缩写形式,DLL是一个包含可由多个程序同时使用的代码和数据的库,DLL不是可执行文件.动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数.函数的可执行代码位于一个 DLL 中,该 DLL 包含一个或多个已被编译.链接并与使用它们的进程分开存储的函数.DLL 还有助于共享数据和资源.多个应用程序可同时访问内存中单个DLL 副本的内容.DLL 是一个包含可由多个程序同时使用的代码和数据的库

动态链接库

你是否有过这样的经历?在配置不是很好的机器上运行一些不是很完善的Windows应用程序,系统速度越来越慢,直至弹出一个警告对话框:"系统资源严重不足!请关闭部分Windows应用程序......".这往往是静态链接的缘故.使用普通的函数库,在程序链接时将库中的代码拷贝到可执行文件中,这叫作静态链接.假设有多个程序同时执行,这时内存中就会保留许多重复的代码副本. 使用动态链接库则不一样.只有程序在执行时才将库代码装入内存.对于同一个动态链接库,无论有多少个应用程序同时在使用它,内存中都只

Loadrunner视频教程汇总

小布老师视频:测试工具概述,兼LoadRunner介绍 -1-4http://www.boobooke.com/v/bbk1046http://www.boobooke.com/v/bbk1046.ziphttp://www.boobooke.com/v/bbk1047http://www.boobooke.com/v/bbk1047.ziphttp://www.boobooke.com/v/bbk1048http://www.boobooke.com/v/bbk1048.ziphttp://w

099_《Delphi5专题开发指南》

<Delphi5专题开发指南> Delphi 教程 系列书籍 (099) <Delphi5专题开发指南> 网友(邦)整理 EMail: shuaihj@163.com 下载地址: Part1 Part2 Part3 Part4 书名: Delphi 5.0专题开发指南 作者: 刘华 肖永顺 出版社: 清华大学出版社 书号: 7302009643 出版日期:2000年8月 开本: 787*1092 1/16 页码: 449 版次: 2000年8月第一版第一次印刷 内容简介 本书分5个

分析Windows和Linux动态库_unix linux

    摘要:动态链接库技术实现和设计程序常用的技术,在Windows和Linux系统中都有动态库的概念,采用动态库可以有效的减少程序大小,节省空间,提高效率,增加程序的可扩展性,便于模块化管理.但不同操作系统的动态库由于格式 不同,在需要不同操作系统调用时需要进行动态库程序移植.本文分析和比较了两种操作系统动态库技术,并给出了将Visual C++编制的动态库移植到Linux上的方法和经验. 1.引言 动态库(Dynamic Link Library abbr,DLL)技术是程序设计中经常采用

软件测试工具Loadrunner调用Java类

最近公司需要测试几个具有一定功能类的性能,虽然我觉得这已经是白盒测试的范畴了,但是领导要求这样做,我也就只好进行技术的研究.要求就是能够传参数给类,并且可以接收到类返回的参数,并且进行正确与否的判断. 第一步,总的思路. 以前我都是用loadrunner直接进行录制,但是有些协议的确不好弄不知道怎样进行录制,像vb,c++,java语言做的东西我觉最简单的方式就是直接调用相关的类文件,动态链接库,直接用代码的方式进行调用.在这种思想下,于是试着在loadrunner中写程序调用java类. 第二

《精通软件性能测试与LoadRunner最佳实战》—第2章2.节

内 容 提 要 精通软件性能测试与LoadRunner最佳实战 本书在介绍软件性能测试概念的基础上,结合对实际测试案例的剖析,重点讲解了性能测试实战技术.LoadRunner工具的使用技巧和实践工作中的问题解答. 全书分为15章,内容从测试项目实战需求出发,讲述了软件测试的分类以及测试的流程等,还重点讲述了性能测试技术和LoadRunner 11.0工具应用的实战知识.为了有效地解决工作中遇到的问题,将实践中经常遇到的问题进行总结汇总成几十个解决方案.详细的项目案例.完整的性能测试方案.计划.用

有关微软新一代开发技术ASP+的介绍

asp+|微软|微软 ASP+介绍 尽管ASP3.0墨迹未干,微软已经在紧锣密鼓地进行下一代服务器端编程技术的开发.在下面三部分中,我们将对这个被称为 ASP+(名称未定)的新产品做一粗略介绍.本文对象主要是那些经验丰富的 ASP 开发者,为你决定是否移植到ASP+提供一些概念. ASP+被设计成与早期版本的ASP兼容,在环境要求方面仅有一些微小的差别.比较特别的一点是,ASP+可以与 Windows2000 上的 ASP 3.0同时安装.这样一来,你就可以在测试 ASP+ 的同时继续提供已有的

深入挖掘Windows脚本技术

window|脚本 [目录]1,前言2,回顾WSH对象3,WMI服务4,脚本也有GUI5,反查杀6,来做个后门7,结语8,参考资料 [前言]本文讲述一些Windows脚本编程的知识和技巧.这里的Windows脚本是指"Windows Script Host"(WSH Windows脚本宿主),而不是HTML或ASP中的脚本.前者由Wscript或Cscript解释,后两者分别由IE和IIS负责解释.描述的语言是VBScript.本文假设读者有一定的Windows脚本编程的基础.如果你对