51Testing软件测试论坛

标题: web_custom_request函数体内是否可以使用变量 [打印本页]

作者: fengerluo    时间: 2012-11-3 18:04
标题: web_custom_request函数体内是否可以使用变量
脚本的思路是这样的,一个订单中包含两个商品,商品使用两个参数,商品价格通过web_reg_save_param去取得,取得价格后,转换为数值型,然后相加得到订单的总价,最后一个步骤提交订单时,有一个字段为订单总价,需要核对该值是否正确,我试过直接使用相加的数值型变量代替web_custom_request请求体里的值,编译能过动漫,但是最后web_custom_request返回错误。请教一下,如何把这个总价的值放到web_custom_request请求体里。
BODY的内容("NetAmt\":187   即是总价):
"BodyBinary={\"orderInfo\":{\"Order\":{\"Status\":null,\"CusCode\":\"{cust_info}\",\"Creator\":null,\"DisAmt\":0,\"StockOut\":0,\"OrderCode\":null,\"TransferCode\":null,\"OrderType\":1,\"SumAdditionalCost\":0,\"SpecialDesc\":null,\"IsSplit\":false,\"IsQuestion\":false,\"DisGiftAmt\":0,\"CusGradeId\":37,\"NetAmt\":187,\"CreateTime\":\"2012-11-03 09:34:56\",
作者: msnshow    时间: 2012-11-3 22:02
可以将变量转换为参数来使用
作者: 云层    时间: 2012-11-3 22:19
可以用变量或者参数
作者: fengerluo    时间: 2012-11-5 10:00
可以将变量转换为参数来使用
msnshow 发表于 2012-11-3 22:02



    具体怎么将变量转换为参数,求指教!
作者: msnshow    时间: 2012-11-5 22:39
回复 4# fengerluo


    //字符串复制
strcpy(str,"Hello ") ;
//字符串连接
strcat(str,"World !");
lr_message("str: %s",str);
//变量转为参数,将变量str的值存到参数Param中
lr_save_string(str,"Param");
//参数复制
lr_save_string(lr_eval_string("{Param}"),"Param_1");
//参数转为变量
strcpy(str1,lr_eval_string("{Param_1}"));
lr_message("str1: %s",str1);
//参数名称格式化输出到变量中
sprintf(str2,"{Param_%d}",1);
lr_message("str2: %s",lr_eval_string(str2));
在web系统中 参数一般通过web_reg_save_param获取
语法:
int web_reg_save_param(const char *ParamName, <list of Attributes>, LAST);
参数说明:
ParamName: 存放得到的动态内容的参数名称
list of Attributes: 其它属性,包括:Notfound, LB, RB, RelFrameID, Search, ORD, SaveOffset, Convert, SaveLen。属性值不分大小写
Notfound: 当在返回信息中找不到要找的内容时应该怎么处理
Notfound=error: 当在返回信息中找不到要找的内容时,发出一个错误讯息。这是缺省值。
Notfound=warning: 当在返回信息中找不到要找的内容时,只发出警告,脚本也会继续执行下去不会中断。
LB( Left Boundary ) : 返回信息的左边界字串。该属性必须有,并且区分大小写。
RB( Right Boundary ): 返回信息的右边界字串。该属性必须有,并且区分大小写。
RelFrameID: 相对于URL而言,欲查找的网页的Frame。此属性质可以是All或是数字,该属性可有可无。
Search : 返回信息的查找范围。可以是Headers,Body,Noresource,All(缺省)。该属性质可有可无。
ORD : 说明第几次出现的左边界子串的匹配项才是需要的内容。该属性可有可无,缺省值是1。如为All,则将所有找到的内容储存起来。
SaveOffset : 当找到匹配项后,从第几个字元开始存储到参数中。该属性不能为负数,缺省值为0。
SaveLen :当找到匹配项后,偏移量之后的几个字元存储到参数中。缺省值是-1,表示一直到结尾的整个字串都存入参数。
Convert : 可取的值有以下两种:
HTML_TO_URL : 将 HTML-encoded 资料转成 URL-encoded 资料格式
HTML_TO_TEXT : 将 HTML-encoded 资料转成纯文字资料格式
注:可以将ORD设置成ALL看看效果,然后充分挖掘
付:
字符串处理主要是对字符串操作和比较。
函数名 介绍
strcat 连接两个字符串
strchr 返回字符串第一次出现后的所有字符
strcmp 区分大小写字母比较
strcpy 复制一个字符串到另一个
strdup 复制字符串
stricmp 不区分大小写字母比较
strlen 返回字符串长度
strlwr 转化字符串为小写字母
strncat 一个字符串连接另一个字符串到第n个的字符
strncmp 比较两个字符串从第一到n个字符
strncpy 复制一个字符串从第一到n个字符到另一个字符串
strnicmp 比较两个字符串的n个字符
strrchr 返回字符最后出现后的所有字符
strset 为字符串填充特殊字符
strspn 返回字符串中包含特殊字符的个数
strstr 返回一个字符串在另一个中第一出现的位置数
strtok 返回特殊标记分割的字符
strupr 转化字符串为大小字母




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2