liyanhui

测试

 

LoadRunner中调用dll的方法

步骤

¨       建立一个dll文件(sss.dll

¨       把该dll文件拷贝到当前脚本的位置

¨       调用该dll文件:lr_load_dll(sss.dll)。int lr_load_dll (const char *"library_name" );

¨       使用该dll中的函数

如下代码:

String s='a';

String ss;

lr_load_dll(“sss.dll”); //加载dll

sshanshu(s); //使用dll中的函数

 

下面这个例子好像是关河的,拿过来引用一下

一个web应用,该应用有一个页面输入用户的信息,为了安全起见,用户输入的信息在提交前都要先进行加密处理,加密处理通过本地的COM组件实现,对这个要求而言,LR的现有API不能提供直接支持,因此LR在录制脚本时只是录制了数据交互,而COM的加密处理过程不能被录制下来。

解决的办法:

建立一个dll文件,文件名为Security.dll,用于加密的函数名为encode,则一种可能的对脚本的修改方法如下代码所示:

//定义变量
char *encode_username, *encode_password, *orgin_username, *orgin_password;
char* uservalue, passvalue;
int ret;
……
web_url("userinfo",
     "URL=http://testweb/userinfo.aspx",
     "TargetFrame=",
     "Resource=0",
      "Referer=",
      LAST);

orgin_username = lr_eval_string(“{ username }”); //获取参数的值
orgin_password = lr_eval_string(“{ password }”);

ret = lr_load_dll(“security.dll”);   //加载DLL

encode(origin_username, encode_username);  //调用encode函数
encode(origin_password, encode_password);


sprintf(uservalue, “Value=%s”, encode_username);
sprintf(passvalue, “value=%s”, encode_password);

web_submit_form("login ",
  "Snapshot=t4.inf",
  ITEMDATA,
  "Name=username", uservalue, ENDITEM,
  "Name=password", passvalue, ENDITEM,
  LAST);

 

posted on 2006-08-22 16:17  雨中竹林  阅读(446)  评论(0)    收藏  举报

导航