robotframework之post请求params传参和data传参引起的问题

时间:2024-03-14 16:37:09

看了下post requests关键字的介绍,捉摸着应该使用data传参,也按照data传参的要求设置参数

robotframework之post请求params传参和data传参引起的问题robotframework之post请求params传参和data传参引起的问题

结果运行后发现接口返回值和自己预期的完全不一样。。。 不知道哪里有问题。。。

robotframework之post请求params传参和data传参引起的问题 

 结果把data传参改成params传参后,居然调用成功了。。。

robotframework之post请求params传参和data传参引起的问题robotframework之post请求params传参和data传参引起的问题

打算通过fiddler监听一下,看下data传参和params传参有什么区别 fiddler如何监听robotframework发起的请求

通过对比发现:

params传参的请求,参数是直接跟在请求url后面的,在WebForms表单里面能看到参数信息

data传参的请求,参数只在TextView和SyntaxView列表里能看到,在WebForms里面却看不到参数信息

robotframework之post请求params传参和data传参引起的问题

params传参明显不符合实际,直接跟在了url后面。。。还是进一步对比为什么data传参没成功


对比浏览器直接发起的请求和通过robotframework发起的请求(data传参),区别就在于WebForms里有没有参数信息

通过浏览器发起的请求,WebForms里面是有值的

通过robotframework发起的请求(data传参),WebForms里面是没有值的,感觉只要解决了这个问题,应该就可以了

robotframework之post请求params传参和data传参引起的问题

从上图分析WebForms里面没有值可能跟content-type有关

查看两种请求下的content-type,图一为通过robotframework发送的请求,图二为通过浏览器发送的请求

robotframework之post请求params传参和data传参引起的问题 robotframework之post请求params传参和data传参引起的问题

再次怀疑就是这个content-type导致的,尝试在robotframework里面把content-type加上

通过设置请求头为content-type赋值,修改后重新运行,接口调用成功,在fiddler里面查看WebForms里面也确实是有值了

robotframework之post请求params传参和data传参引起的问题robotframework之post请求params传参和data传参引起的问题