loadrunner 字符串转换

之前在录登录脚本时 添加了个检查点 

web_reg_find("text=Success",
      "SaveCount=Account_count",    
               LAST);

判断如下

if(atoi(lr_eval_string("{Account_count}"))>0 ){
        lr_output_message("Login successfully! %s",lr_eval_string("{username}"));
        lr_end_transaction("SonyStyle_TC01_Sign up",LR_PASS);
    } else {
        lr_error_message("Fail account : %s ",lr_eval_string("{username}"));
        lr_end_transaction("SonyStyle_TC01_Sign up",LR_FAIL);    
    }

 

但是过了几天回放的时候却发现失败了,如下图

仔细看了看日志没任何错啊,只是判断这里出问题了。进一步想肯定是检查点的问题,回到检查点的地方

查看检查点

咋变成中文的“成功"了。之前都是success的,绝对是那个前端小伙搞的鬼,现在只有使用字符转换来解决了,

代码如下:

char * checkChar; 

    checkChar = (char *)malloc(50); //分派50个字符内存空间

    memset(checkChar, 0, 50); //赋初始值给checkChar
    
    lr_convert_string_encoding("成功", LR_ENC_SYSTEM_LOCALE, LR_ENC_UTF8, "convertChar");

    sprintf(checkChar, "text=%s\0", lr_eval_string("{convertChar}")); 

检查点应写为你所转换后的参数,如下:

web_reg_find(checkChar,
      "SaveCount=Account_count",    
               LAST);

判断条件不变

 

if(atoi(lr_eval_string("{Account_count}"))>0 ){
        lr_output_message("Login successfully! %s",lr_eval_string("{username}"));
        lr_end_transaction("SonyStyle_TC02_Sign in",LR_PASS);
    } else {
        lr_error_message("Fail account : %s ",lr_eval_string("{username}"));
        lr_end_transaction("SonyStyle_TC02_Sign in",LR_FAIL);    
    }

free(checkChar); //对checkchar进行释放

记得要将内存释放,添加在最后即可

free(checkChar); //对checkchar进行释放

再回放时成功!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值