利用LoadRunner实现加密测试,哇咔咔
2015-05-12 10:17
369 查看
在进行LoadRunner打压时,有时候请求的参数是加密的,而加密的法则是通过调用一段DLL来生成的。这样通过参数化模拟的打压请求就无法达到预期的效果,这时候就需要调用DLL后,拿到DLL的返回值,用返回值来构造打压请求。那么怎么调用DLL呢?首先说一下调用DLL需要的条件:1、 VuGen只能识别标准C编译的DLL, 所以使用VC6创建的函数必须在函数开头加上extern "C",它告诉编译器对这个函数按照标准C的方式进行编译。2、 需要有标准C的导出函数。可以通过Dependency Walker查看:
满足这两点后,就可以在LoadRunner脚本中调用此DLL了。调用外部DLL的方法有两种:● (单个脚本中)在脚本中是使用 lr_load_dll 函数。● (全局设置,所有脚本)通过修改 mdrv.dat 文件实现。第一种方法,可以直接通过lr_load_dll函数来实现。
这样就可以直接保存返回值用户后续的打压参数了。但是这种方法是单个脚本才能用的,其他脚本不能使用。第二种方法是全局设置,相当于将dll加载到LoadRunner的DLL库中。所有脚本你都可以调用。1、将需要的DLL拷贝到LoadRunner安装路径的Bin目录下。2、修改mdrv.dat文件,找到[lrun_api]节点,在后面加上一句:WINNT_DLLS=XXX.dll这样,就不用lr_load_dll函数,直接调用XXX.dll里面的函数了。
另外,在具体通过agent打压时,会发现报如下错误:Error: CCI security error:You are running under secure mode and the function ci_load_dll is not allowed in this mode.这是由于远程agent打压机无法加载DLL导致的。解决办法是在添加脚本时,将引用的DLL也添加进来。
满足这两点后,就可以在LoadRunner脚本中调用此DLL了。调用外部DLL的方法有两种:● (单个脚本中)在脚本中是使用 lr_load_dll 函数。● (全局设置,所有脚本)通过修改 mdrv.dat 文件实现。第一种方法,可以直接通过lr_load_dll函数来实现。
这样就可以直接保存返回值用户后续的打压参数了。但是这种方法是单个脚本才能用的,其他脚本不能使用。第二种方法是全局设置,相当于将dll加载到LoadRunner的DLL库中。所有脚本你都可以调用。1、将需要的DLL拷贝到LoadRunner安装路径的Bin目录下。2、修改mdrv.dat文件,找到[lrun_api]节点,在后面加上一句:WINNT_DLLS=XXX.dll这样,就不用lr_load_dll函数,直接调用XXX.dll里面的函数了。
另外,在具体通过agent打压时,会发现报如下错误:Error: CCI security error:You are running under secure mode and the function ci_load_dll is not allowed in this mode.这是由于远程agent打压机无法加载DLL导致的。解决办法是在添加脚本时,将引用的DLL也添加进来。
相关文章推荐
- 利用LoadRunner实现加密测试
- 如何使LoadRunner实现加密测试
- 利用CTS框架实现APP的自动化白盒测试
- 【软件性能测试-LoadRunner实战技能 1】== 如何利用LoadRunner制造测试数据
- 利用Fitnesse和Jmeter实现接口性能测试
- 利用google对特定站点进行测试的实现
- java利用Apache的commons-codec实现md系列加密
- 全自动加密代码( 利用call挂接实现)
- 利用MVC的过滤器实现url的参数加密和解密
- 利用Windows7中的自带功能实现U盘加密
- 利用LoadRunner进行http接口功能自动化测试
- 利用cppunit实现测试的方法
- 利用google对特定站点进行测试的实现
- 利用java自带的base64实现加密、解密
- Loadrunner实现MD5码加密
- 利用C++模板,代替虚函数,实现类的静态多态性(加入性能测试部分)
- java利用Apache的commons-codec实现md系列加密
- 利用"流"实现exe文件的加密解密
- 无线测试技术-利用httpclient实现自动化测试
- 利用MVC的过滤器实现url的参数加密和解密