之前在录登录脚本时 添加了个检查点
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进行释放
再回放时成功!