在一次协助测试中,发送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而且脚本组名也相同,而且即使是如此,取到重复值的机率也非常小!函数就是在拼接“-”到指定位置。
 

版权声明:本文为zwh-Seeking原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zwh-Seeking/p/14464327.html