每周一总结,一起共同充电
第117篇 以程序代码的方式实现接口测试,可以处理加解密接口、可以进行复杂业务逻辑处理,可以复杂断言等好处,其实就是灵活。 python中requests库,是基于urllib,采用apache2 licensed开源协议等http库,相比与urllib库,requests库更加方便,可以节约我们大量等工作,完全满足http测试需求。 安装很简单,只需要pip install requests即可。 接口常见等http请求方式有:GET, POST, PUT, DELETE, HEAD, OPTIONS。requests库都可以很好的支持。 1、GET请求 示例: requests.get(url, params = params) Params = {“id”:1001} 2、POST请求 示例: requests.post(url, json, headers) python中的字典与json格式的数据,虽然外表没区别,但是数据序列化不一样;所以可以将字典通过 json模块转成json字符串,再传到后台。 r = requests.post(url, data = json.dumps(data), headers = headers) 知识点: data: 字典对象 Json: json字符串 将字典对象转化为json字符串,需要用到json模块的dumps函数。 3、响应数据 各个请求方法的返回值response为Response的对象,我们可以从这个对象中获取我们想要的响应信息。假设返回值为r。 status_code:获取响应状态码,示例:r.status_code Url: 获取请求url地址, 示例:r.url Encoding: 查看默认请求编码格式或者设置响应编码格式。设置方式:r.encoding = “utf-8” Headers : 获取服务器响应消息头,示例:r.headers Cookies:获取响应cookies信息, 示例:r.cookies Text: 以文本形式解析响应内容。 Content:以字节码形式解析响应内容。 Json:以json字符串形式解析响应内容 4、Session 在requests里,session对象是一个非常常用的对象,这个对象代表一次用户会话:从客户端浏览器连接服务器开始,到客户端浏览器与服务器断开。 会话能让我们在跨请求时候保持某些参数,比如在同一个session实例发出的所有请求之间保持cookie。 创建session对象: session = requests.Session() 得到session对象后,就可以调用该对象中的方法发送请求,例如session.post()。 以上就是用requests库发送常见http请求的基础知识点,你可以利用这个库轻松的完成http协议的接口测试。 当然,你还有很多事要做,譬如测试数据如何管理、测试结果报告如何展示等等,这个留给大家去思考,如下是一个简易版本的接口测试结果报告。如果文章对你有帮助,
还请帮忙转发转发,谢谢。
问题交流/稿件投递
免费领取例子脚本和代码
免费入微信群交流
免费PMP考试资料
免费python学习资料
扫一扫,加小T
专题推荐
● jmeter实时可视化图表化(高级)
● jmeter5.0源码在eclipse正确打开方式
● jmeter+Jenkins性能测试自动化搭建
● jmeter+Jenkins性能测试高级用法(番外篇)
● jmeter的websocket接口性能测试
● jmeter工作实战心法-高级需求(附福利)
● jmeter工作实战心法-必备技能(附赠小技巧)
● jmeter测试mongodb,必会,高级知识
● jmeter tcp脚本的核心知识点理解
● jmeter beanshell脚本如何编写2个例子
● jmeter 如何一步步扩展自己的函数
● jmeter 正则表达式应用
● 新人如何学习性能测试
● 性能测试利剑-微服务的分布式追踪
● python如何和java高效的交互