1、性能测试中使用DLL处理客户端本地进行的复杂计算
在性能测试过程中,经常遇到这种情况:客户端与服务端交互的数据需要经过多重二次计算,如加密加压,解密解压等,以及其他一些需要在客户端本地进行的计算。
在使用lr进行性能测试过程中,当然也可以在脚本中编写处理过程,但总的来说不容易处理。
本文对以前的经验作了总结,方便参考。
2、编程实现
本文演示了一个简单的c++ dll程序的结构,可以不关注如何调用com的过程。如果想知道调用com的过程,可参考http://blog.youkuaiyun.com/ceo158/article/details/14003969,该文介绍了如何在c++中使用com。
一个最简单的dll程序,其实可以只包括一个头文件和一个源码文件。
下面的例子导出两个两个函数:
int EnStr(char* toEn,char encryptedStr[]);作用是加密字符串toEn,并将加密后的值encryptedStr返回。注意在函数实现里使用了strcpy(encryptedStr,(LPSTR)(LPCTSTR)strRET);,而非encryptedStr = (LPSTR)(LPCTSTR)strRET;,因为strRET的生命周期只是存在于该函数内,一旦返回,其值将被释放,所以外面调用该dll的客户程序得不到任何内容(空)。
int DeStr(char* toDe,char decryptedStr[]);的作用是解密,基本实现同上。
另外需要注意的是引入了两个新类型BSTR和_bstr_t,这都是与com通信相关的。他们可以和CString和char*转换。
1)头文件head.h
#include "stdafx.h"
#include "af

本文介绍了如何在LoadRunner性能测试中利用C++ DLL处理客户端的复杂计算,提供了一个简单的C++ DLL程序示例,包括加密和解密函数。在LR中,通过lr_load_dll加载DLL,并在actions中调用API,以此提高测试效率。
最低0.47元/天 解锁文章
573

被折叠的 条评论
为什么被折叠?



