LR报错系列——关于参数为中文的不同传参方式

    最近,在编写业务流程传递类测试脚本的过程中,存在大量参数需要进行中文传参,因而依旧会使用到中文转码问题。原本使用的传参与转码方式为之前有记录过的转码方式,但由于中文参数实在过多,导致脚本编写完成的同时,也生成了大量的参数文件。该脚本并非用于压测,而是作为业务流程自动化验证使用,因而很多参数无需变动。可大量的参数文件,使脚本在使用过程中更改个别参数变得非常繁琐。

    以此为背景,对于不用于压测或不需要大量数据的参数来说,可对脚本传参方式进行小小变动。


char consName[50] = "刺客五六七";    //定义变量并赋值

lr_save_string(consName,"consName");     //将变量作为参数进行存储

lr_convert_string_encoding(lr_eval_string("{consName}"),        //进行参数化处理

LR_ENC_SYSTEM_LOCALE,                       //进行中文转码,LR_ENC_SYSTEM_LOCALE为原编码方式

LR_ENC_UTF8,                                             //LR_ENC_UTF8为目标编码方式

"consName");    //保存至consName中

strcpy(consName,lr_eval_string("{consName}"));    //将consName的值拷贝到已定义的变量consName中

lr_save_string(consName,"consName");    //再将consName存进consName中,可去掉转码后结尾的\x00


以上传参方式可在不使用参数文件的情况下再定义变量的地方直接更改传参内容。其实这样的转码方式仅仅是在传参方式上进行了小小变动,其余内容与之前方式一致。

但需要注意的是,在定义变量并赋值时,如果说传参内容过长,则需要改变定义的字符长度,如:

char consAddr[100] = "我家就在黄土高坡边边上的那座小山包的半山腰的左侧靠下位置向东走两公里名叫黄土高坡的小山村";   

此外,非中文传参也可使用以上传参方式,无需写转码方法,直接定义变量并赋值,再将变量作为参数进行存储,就可以在脚本中直接使用。同样也可快速更换参数,无需使用参数文件。

char consmobile[50] = "17900000000";    //定义变量并赋值

lr_save_string(consmobile,"consmobile");     //将变量作为参数进行存储


以上方式方法建议使用在非压测用途脚本中,在尚未掌握自动化测试框架的情况下,改变下思路,根据实际需要或业务要求,LR脚本也可变成自动化测试验证脚本进行使用。

你可能感兴趣的:(LR报错系列——关于参数为中文的不同传参方式)