RobotFramework,发起接口请求时,遇到的坑

RobotFramework,发起接口请求时,遇到的坑,第1张

最近在用RobotFramework,做接口自动化时,发现对接口请求的报文,兼容性较差,同样的报文在jmeter下可以运行,在RobotFramework就是会出现400 bad quest,和之前的写的文章一样,一旦发现data请求时,后面被加上了"(双引号),一定是自己的问题

1、发起的报文带有\n(换行符)的请求报文;发现怎么请求都是400bad quest,加上由于发起接口本身(原接口有bug)又返回success,但是尝试打印responset.text,又一直是空白。尝试在python下发起同样的请求,content和text也一直是空白,后面妥协,把\n(换行符)换成w分号后,请求成功。content和text也能正常返回

2、发起的报文,存在多个",是jmeter下也是能正常运行,后面仔细检查才发现是自己的问题

3、使用RF时,经常会从上一个请求获取某个节点的值时,实际的结果是带有前后引号的,这导致发送下一接口如果有使用该值,会出现一直请求不成功,要仔细仔细仔细的检查请求的参数,若存在带引号的情况下,可以使用.strip()来处理,代码如下:

 

${keyId}    Get Json Value    ${response_data}    /keyId
${keyId}    Evaluate    ${keyId.strip()}    

4、发送含有带文件上传的接口,在发送接口请求前,记得要用字典,且用files=来设置,之前直接放某个参数时,会出现 ValueError: too many values to unpack

设置结果如下

 

之前不行报错的时候,是files= ${file}

综上,只能说jmeter的兼容性高于python.这里写的希望有和我一样遇到坑的人,提供一个方法,最主要的还是data=后面如果是“开头的,一定是自己的问题,别的工具可以,只能说别的工具兼容性比较好,另外也欢迎有遇到过这样的问题,如果\n 在python下发送过可以的高手,也麻烦指导下如何处理。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/715045.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-25
下一篇 2022-04-25

发表评论

登录后才能评论

评论列表(0条)

保存