lf知识星球banner

使用LuckyFrame协议模板初始化HTTP JSON请求,注意这些事情

2018-12-12 07:45:00
Seagull
原创
848

在HTTP协议模板中请求JSON格式的报文,当你需要在用例步骤中替换参数时,替换参数请求对象的类型封装目前分为四种: String、Integer、Long、BigDecimal、Boolean,所以当你需要替换其中除了String以外的其他类型参数时,在协议模式中就必须初始化成对应的类型,而不能用0、null等来代替。


正常的写法比如:
{"name":"tom","sex":"男","age":24,"tel":137657767762,"height":175.5,"married":false}

错误示例1:{"name":"tom","sex":"男","age":24,"tel":0,"height":175.5,"married":false} 

这时候假如我想替换"tel"的参数值时,在用例步骤的参数列这样写:tel#137666565562


如果你写成这样的JSON,首先系统在初始化原始JSON的时候,会把你的替换参数(比如:137666565562)按照整型(Integer)去转换,那么肯定会转换抛出异常,因为电话号码(Long型)长度已经超长。



错误示例2:{"name":"tom","sex":"男","age":24,"tel":137657767762,"height":170,"married":false}

这时候假如我想替换"height"的参数值时,在用例步骤的参数列这样写:height#175.5


如果你写成这样的JSON,首先系统在初始化原始JSON的时候,会把你的替换参数(比如:175.5)按照整型(Integer)去转换,那么肯定会转换抛出异常,因为替换参数值175.5(BigDecimal型)没办法转换成整形。



错误示例3:{"name":"tom","sex":"男","age":24,"tel":137657767762,"height":175.5,"married":null}

这时候假如我想替换"married"的参数值时,在用例步骤的参数列这样写:married#false


如果你写成这样的JSON,首先系统在初始化原始JSON的时候,没有办法识别你的参数【"married":null】到底是什么类型,没办法识别的情况下,会把替换参数默认设置成String类型,最终替换后的参数会是这样的:{"name":"tom","sex":"男","age":24,"tel":137657767762,"height":175.5,"married":"false"}   这就导致married的值变成了String类型,而不是原始所想的Boolean类型了。
文章原创申明
  • 本站文章以及相关内容除注明 转贴外,均为本站 原创翻译

  • 如果本站转载的文章涉嫌侵犯了您的权益,请在评论区留言或是邮件联系管理员及时删除 【admin@luckyframe.cn】

评论列表
三荣 2019-07-29 15:37:31 回复
提个建议,能不能加个保留原始数据的选项,测试发现发出去的json数据keyvalue顺序有时会被打乱,比如本来填的是{"a":"xxx","b":"xxx"},抓包发现发出的数据是{"b":"xxx","a":"xxx"}。
Seagull 2019-08-01 13:38:09 回复
如果你是测试HTTP的话,原始数据就是你协议模板里面的数据呢
1/1
发表评论
评论通过审核后显示。
千聊课程一bannar