参考这3篇文章:
MD5:
http://bbs.51testing.com/forum.php?mod=viewthread&tid=1111323
base64:
http://www.cnblogs.com/preftest/archive/2011/06/12/2079178.html
http://www.51testing.com/html/41/15103841-3707341.html
主要思路为:
1. LR中保存一个空项目,取名test
2. 把base64或md5的c语言代码保存为 base64.h 格式的文件,保存在test项目根目录下。具体代码在前面3篇文章可找到。
3.在loadrunner中左侧 action、vuser_end 模块上,右击,选择“add file to script”,选中base64.h文件,导入。
4.在loadrunner的globlas.h 的include files模块 加入 #include "base64.h",如下:
// Include Files
#include "lrun.h"#include "web_api.h"#include "lrw_custom_body.h"#include "base64.h"5.loadrunner->action 中引用 base64.h已封装好的 加密、解密函数。
如:
*******************************************************
//base64.h例子:
Action()
{ int res; //编码 lr_save_string("1234567","number01"); b64_encode_string(lr_eval_string("{number01}"),"b64str"); lr_output_message("encode result: %s", lr_eval_string("{b64str}")); //解码 b64_decode_string(lr_eval_string("{b64str}"),"number02"); lr_output_message("decode result: %s",lr_eval_string("{number02}")); //校验 res = strcmp(lr_eval_string("{number01}"),lr_eval_string("{number02}")); if(res == 0) { lr_output_message("test is successful"); }
// 下面的代码自己写的,编码出来的效果跟上面的有点区别,不知为啥,但解密的结果是一致。
b64_encode_string("1234567","base64");
lr_output_message("encode base64 result: %s", lr_eval_string("{base64}")); b64_decode_string(lr_eval_string("{base64}"),"number03"); lr_output_message("decode base64 result: %s",lr_eval_string("{number03}")); return 0;}
**************************************************
//MD5例子:
Action()
{ char Md5[33];// MD5只有编码的函数
GetMd5FromString("1234567",Md5); lr_output_message(Md5); }