• loadrunner通过字符串左右边界提取字符串


    /******
    *函数名称:strcut
    *函数说明:通过左边界、右边界,从字符串中截取子字符串
    *注意事项:会申请新的内存,需要手动释放
    ******/
    void strcut(char *strSrc, char* str, char *leftStr, char *rightStr)
    {
        char *st1, *st2;
        int result, i = 0;
        i=strlen(leftStr);
        st1 = (char*) strstr(strSrc, leftStr);  
        if (st1 != NULL){ 
            st1 += i;
            st2 = (char*) strstr(st1,rightStr);
            if (st2 != NULL){
                result = st2 - st1;
                *(st1 + result) = '';
            }     
        }  
        if ((st1 == NULL) || (st2 == NULL))
            lr_error_message("Error: No substring found for the specified boundary");
        else   
            lr_save_string(lr_eval_string(st1),str); 
    }

    void strcut(char *strSrc, char* str, char *leftStr, char *rightStr)
    {
        char *st1, *st2;
        int result, i = 0;
        i=strlen(leftStr);
        st1 = (char*) strstr(strSrc, leftStr);  
        if (st1 != NULL){ 
            st1 += i;
            st2 = (char*) strstr(st1,rightStr);
            if (st2 != NULL){
                result = st2 - st1;
                *(st1 + result) = '';
            }     
        }  
        if ((st1 == NULL) || (st2 == NULL))
            lr_error_message("Error: No substring found for the specified boundary");
        else   
            lr_save_string(lr_eval_string(st1),str); 
    }
    
    Action()
    { 
        lr_save_string("{"code": "00000000", "msg": "成功", "transId": "f6079c11ac9d463bb219acba8bc3448c","data": {"randId":"e02a104a4a2f421b93bdb8f6d9daf7c0"}}","allRes2");
     
        strcut(lr_eval_string("{allRes2}"), "randId", "randId":"",""}");  
     
        lr_output_message("randId:%s",lr_eval_string("{randId}")); 
     
        return 0;
    }

    void web_reg_save_param_custom(char *sourceStr, char* outpuStr, char *leftBdry, char *rightBdry){     
    
    	char *st1, *st2;
    
    	int result, i = 0;
    
    	i=strlen(leftBdry);
    
    	st1 = (char*) strstr(sourceStr, leftBdry); 
    
    	if (st1 != NULL){ 
    
    		st1 += i;
    
    		st2 = (char*) strstr(st1, rightBdry);
    
    		if (st2 != NULL){
    
    			result = st2 - st1;
    
    			*(st1 + result) = '';
    
    			}     
    		}  
    
    	if ((st1 == NULL) || (st2 == NULL))
    
    		lr_error_message("Error: No substring found for the specified boundary");
    
    	else  
    
    		lr_save_string(lr_eval_string(st1), outpuStr); 
    }
    
    Action()
    {
    
    	lr_save_string("xyzToken3234344endKey,","test"); 
    
    	web_reg_save_param_custom(lr_eval_string("{test}"), "Outputtest", "Token","endKey");  
    
    	lr_output_message("切割后的值=%s",lr_eval_string("{Outputtest}")); 
    
    	return 0;
    }

    深圳湖北籍软件测试群 275212937

  • 相关阅读:
    ajax遍历数组(实现百度搜索提示的效果)
    角色管理的增删改
    String与Date、Timestamp互转
    jquery
    认识拦截器
    验证表单介绍
    什么是struts2?
    如何理解OOP?
    请描述Java中的时间监听机制?
    hibernate3中session.get()与session.load()两个方法的区别?
  • 原文地址:https://www.cnblogs.com/qmfsun/p/4947240.html
Copyright © 2020-2023  润新知