Loadrunner11(生成随机uuid)-实战一

最近在做稳定性测试,需要修改客户提供的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}"));

你可能感兴趣的:(Loadrunner11(生成随机uuid)-实战一)