最近在做稳定性测试,需要修改客户提供的loadrunner脚本,脚本里面有随机生成uuid的代码,为了工作方便,拿出来研究研究,结果百度一搜,啧啧,一模一样,真香~
废话不多说,发出来仅供自我学习,也是工作总结的一部分,感谢前辈的慷慨分享,才有小喽啰(我)的学习方向~
感谢, 如有侵权,请与本人联系,谢谢!
globals.h
1、将生成GUID方法放在新建的GUID.h文件中;
2、把这个文件放入脚本保存处;
3、在globals.h中增加函数头“#include "GUID.h"”;
4、或者直接引用(备注:如果要将生成的GUID作为请求参数,必须先用lr_save_string函数转换成LoadRunner能识别的参数,否则无法使用
#ifndef _GLOBALS_H
#define _GLOBALS_H
char *test;
//--------------------------------------------------------------------
// Include Files
#include "lrun.h"
#include "web_api.h"
#include "lrw_custom_body.h"
//--------------------------------------------------------------------
// Global Variables
#endif // _GLOBALS_H
char* lr_guid_gen(char* paramName){ //生成GUID方法
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[8];
} GUID;
GUID m_guid;
char buf[50];
char pNameStr[50];
CoCreateGuid(&m_guid);
// 定义输出格式
//sprintf (buf, "{%08lX-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", // 大写
sprintf (buf, "%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",// 小写
//sprintf (buf, "%08lX%04X%04X%02X%02X%02X%02X%02X%02X%02X%02X",// 小写
m_guid.Data1, m_guid.Data2, m_guid.Data3,
m_guid.Data4[0], m_guid.Data4[1], m_guid.Data4[2], m_guid.Data4[3],
m_guid.Data4[4], m_guid.Data4[5], m_guid.Data4[6], m_guid.Data4[7]);
lr_save_string(buf, paramName);
sprintf(pNameStr,"{%s}",paramName);
return lr_eval_string(pNameStr);
}
Action
char *test;
lr_load_dll("ole32.dll"); //引用windows生成GUID的API
test=lr_guid_gen("GUID"); //调用上面lr_guid_gen()方法
lr_save_string(test,"GUID");
lr_output_message(test);
lr_output_message("xxxxxxxxxxxxx:%s",lr_eval_string("{GUID}"));
网友评论