👉 ✈手机屏幕横着看更精彩 *_*. . . . . . 大 江 东 去,浪 淘 尽, 千 古 风 流 人 物。 故 垒 西 边, 人 道 是, 三 国 周 郎 赤 壁。 乱 石 穿 空, 惊 涛 拍 岸, 卷 起 千 堆 雪。 江 山 如 画, 一 时 多 少 豪 杰。 遥 想 公 瑾 当 年, 小 乔 初 嫁 了, 雄 姿 英 发。 羽 扇 纶 巾, 谈 笑 间, 樯 橹 灰 飞 烟 灭。 故 国 神 游, 多 情 应 笑 我, 早 生 华 发。 人 生 如 梦, 一 尊 还 酹 江 月。 (。_°)☆\(- – ) 👈

loadrunner生成随机uuid的方法

  在一次协助测试中,发送HTTP body报文时,需要用到UUID字符串,查阅相关资料,及微微调试,成功运行并输出UUID值。

1、将生成GUID方法放在新建的guid.h文件中;
2、把这个文件放入脚本保存处;
3、在globals.h中#ifndef下增加函数头“#include "guid.h"”;

guid.h代码如下:

 1 char* lr_guid_gen(char* paramName){
 2     typedef struct _GUID{
 3     unsigned long Data1;
 4     unsigned short Data2;
 5     unsigned short Data3;
 6     unsigned char Data4[8];
 7 } GUID;
 8  
 9 GUID m_guid;
10 char buf[50];
11 char pNameStr[50];
12 CoCreateGuid(&m_guid);
13  
14 // 定义输出格式
15  
16 //sprintf (buf, "{%08lX-%04X-%04X-%02X%02X-%02X%02X%02X%02X%02X%02X}", // 大写
17 sprintf (buf, "%08lx-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",// 小写
18  
19 m_guid.Data1, m_guid.Data2, m_guid.Data3,m_guid.Data4[0], m_guid.Data4[1],
20 m_guid.Data4[2], m_guid.Data4[3],m_guid.Data4[4], m_guid.Data4[5],
21 m_guid.Data4[6], m_guid.Data4[7]);
22  
23 lr_save_string(buf, paramName);
24 sprintf(pNameStr,"{%s}",paramName);
25 return lr_eval_string(pNameStr);

在Action中调用该方法:

1     char *test;
2     lr_load_dll("ole32.dll");      //引用windows生成GUID的API
3     test=lr_guid_gen("GUID");      //调用上面lr_guid_gen()方法
4     lr_save_string(test,"GUID");
5     //lr_output_message(test);
6     lr_output_message("xxxxxxxxxxxxx:%s",lr_eval_string("{GUID}"));

  测试的时候这个LUID,就可以当成GUID/UUID使用了。除非同时使用了多个Contorller而且脚本组名也相同,而且即使是如此,取到重复值的机率也非常小!函数就是在拼接“-”到指定位置。
 
posted @ 2021-03-01 16:19  S-Gavin  阅读(269)  评论(0编辑  收藏  举报