我正在寻找能够使用UTC时间戳作为输入生成V4 UUID的代码。
我想在我的Load Runner脚本中使用此代码在我的Load Runner请求中传递UUID。
感谢代码是否以C ++提供
答案 0 :(得分:1)
我记得使用像
这样的东西int GenerateGuid()
{
typedef struct _GUID
{
unsigned long Group1;
unsigned short Group2;
unsigned short Group3;
unsigned char Group4[8];
} GUID;
GUID m_guid;
char msgId[msgIdSize];
lr_load_dll("ole32.dll");
CoCreateGuid(&m_guid);
sprintf(msgId, "%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
m_guid.Group1, m_guid.Group2, m_guid.Group3,
m_guid.Group4[0], m_guid.Group4[1], m_guid.Group4[2], m_guid.Group4[3],
m_guid.Group4[4], m_guid.Group4[5], m_guid.Group4[6], m_guid.Group4[7]);
lr_save_string(msgId, "msgId");
return 0;
}
这基本上是调用CoCreateuid函数(仅适用于Windows load Generator)并将结果存储到msgid
LoadRunner参数中。
实际上这是我最后一次使用LoadRunner,因为我记得它无法在硬件上产生所需数量的大型POST请求(我还必须解决几个对请求大小的人为限制){{3作为一个魅力。只是为了比较,您只需要调用一个函数,例如:${__UUID}
即可。如果感兴趣,请查看Apache JMeter文章。
答案 1 :(得分:0)
LoadRunner是C虚拟用户,而不是C ++
我建议您使用内置函数 web_save_timestamp_param()或 lr_save_timestamp()作为使用选项
答案 2 :(得分:0)
我正在使用以下代码在独立于Loadgenerators操作系统的loadrunner中生成UUID。请同时检查此链接-How to generate Universally Unique IDentifier, UUID from LoadRunner independent of the OS
int lr_guid_gen()
{
char GUID[40];
int t = 0;
char *szTemp = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";
char *szHex = "0123456789abcdef-";
int nLen = strlen (szTemp);
for (t=0; t<nLen+1; t++)
{
int r = rand () % 16;
char c = ' ';
switch (szTemp[t])
{
case 'x' : { c = szHex [r]; } break;
case 'y' : { c = szHex [r & 0x03 | 0x08]; } break;
case '-' : { c = '-'; } break;
case '4' : { c = '4'; } break;
}
GUID[t] = ( t < nLen ) ? c : 0x00;
}
lr_save_string(GUID,"PAR_GUID");
return 0;
}