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

Posted LuckyFrame测试平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用协议模板初始化HTTP JSON请求,注意这些事情相关的知识,希望对你有一定的参考价值。


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


JSON正常的写法

{"name":"tom","sex":"男","age":24,"tel":137657767762,"height":175.5,"married":false}

1
错误示例:Long初始化成Integer

错误示例:

{"name":"tom","sex":"男","age":24,"tel":0,"height":175.5,"married":false} 

参数替换操作:

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


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



2
错误示例:Double初始化成Integer

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

参数替换操作:

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


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



3
错误示例:其他类型初始化成null

错误示例:{"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类型了。


END


往期 精彩回顾




以上是关于使用协议模板初始化HTTP JSON请求,注意这些事情的主要内容,如果未能解决你的问题,请参考以下文章

flask基础之请求处理核心机制

socket转发http请求注意事项

http协议经常被忽略的知识

http协议发送json字符串请求

在线Post进行http请求

dubbo协议层 jsonrpc协议迁移到http协议