最近在做穩定性測試,需要修改客戶提供的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}"));