LR截取函数

本文介绍在LoadRunner中如何使用自定义函数cutString进行字符串截取,适用于多种情况,包括直接截取和参数化截取。通过具体示例展示了如何定位并获取指定格式的字符串,对于处理少见协议下的数据特别有用。

loadrunner使用一些少见协议时,可能需要对一些字符串进行截取,以前写过的,现在整理到博客上

/*
字符串截取:
1、找不到头或者尾截取符,返回被截取字符串
2、头尾截取符都为"",返回被截取字符串
3、头截取符为"",尾截取符不为"",返回尾截取符之前的字符串,不包括尾截取符
4、头截取符不为"",尾截取符为"",返回头截取符之后的字符串,不包括头截取符
5、头尾截取符都不为"",返回头截取符之后,尾截取符之前的字符串,不包括头尾截取符
Demon1:直接截取

char *res;
res = (char *)cutString("aaa<bbb>ccc", "<", ">");
lr_log_message("截取后字符串:[%s]", res);

Demon2:截取并引用

char *res;
res = (char *)cutString(lr_eval_string("{Param}"), "<", ">");
lr_save_string(res, "s");
lr_log_message("截取后字符串:[%s],引用字符串:[%s]", res, lr_eval_string("{s}"));
char *cutString(char *src, char *head, char *end){
    char *final, *tmp;
    if (head == "" && end == ""){
        return src;
    }else{
        tmp = src;
        tmp = (char *)strstr(tmp, head);
        if (tmp == NULL){
            return src;
        }
        lr_save_var(tmp + strlen(head), strlen(tmp) - strlen(head), 0, "s");
        final = lr_eval_string("{s}");
        if (head != "" && end == ""){
            return final;
        }
        tmp = (char *)strstr(final, end);
        if (tmp == NULL){
            return src;
        }
        *tmp = 0;
        return final;
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值