看了下post requests关键字的介绍,捉摸着应该使用data传参,也按照data传参的要求设置参数
结果运行后发现接口返回值和自己预期的完全不一样。。。 不知道哪里有问题。。。
结果把data传参改成params传参后,居然调用成功了。。。
打算通过fiddler监听一下,看下data传参和params传参有什么区别 fiddler如何监听robotframework发起的请求
通过对比发现:
params传参的请求,参数是直接跟在请求url后面的,在WebForms表单里面能看到参数信息
data传参的请求,参数只在TextView和SyntaxView列表里能看到,在WebForms里面却看不到参数信息
params传参明显不符合实际,直接跟在了url后面。。。还是进一步对比为什么data传参没成功
对比浏览器直接发起的请求和通过robotframework发起的请求(data传参),区别就在于WebForms里有没有参数信息
通过浏览器发起的请求,WebForms里面是有值的
通过robotframework发起的请求(data传参),WebForms里面是没有值的,感觉只要解决了这个问题,应该就可以了
从上图分析WebForms里面没有值可能跟content-type有关
查看两种请求下的content-type,图一为通过robotframework发送的请求,图二为通过浏览器发送的请求
再次怀疑就是这个content-type导致的,尝试在robotframework里面把content-type加上
通过设置请求头为content-type赋值,修改后重新运行,接口调用成功,在fiddler里面查看WebForms里面也确实是有值了