有了它,加密的测试不再是一团黑!

发表于:2015-5-14 11:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:laura    来源:51Testing软件测试网采编

  在进行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也添加进来。
《2023软件测试行业现状调查报告》独家发布~

精彩评论

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号