Python接口自动化必知必会 ------- Requests库

解法实战

由于接口自动化测试的一系列优势,让接口自动化测试的岗位和招聘需求都逐渐增多,那么接口自动化测试也就是我们作为测试人员必须要掌握的技术,那么如果要用python语言做接口自动化测试的话,我们应该如何去做呢?

如果读者朋友们还不知道的话,那么小编今天就给你详细的讲述一下,如果用python做接口自动化测试,那么一定要用到我们的requests库,这个库可以模拟客户端向服务器发送请求,然后可以获取服务器给客户端的返回值。官方对requests库的描述也是非常诙谐幽默,小编在这里引用了一段,如下:

Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。

警告:非专业使用其他 HTTP 库会导致危险的副作用,包括:安全缺陷症、冗余代码症、重新发明*症、啃文档症、抑郁、头疼、甚至死亡。

作为测试人员,最常用的请求方法就是get和post,那接下来我们详细解说一下requests库中的get和post的请求方法。

Requests库是第三方库,所以在使用之前,我们需要下载requests库,下载命令如下:

   pip  install  requests

1、如何发起get请求

对url地址为http://localhost:8080/pinter/com/getSku,请求参数为id=1的get接口进行接口测试,需要用关键字params对请求参数进行接收。

代码如下:

Python接口自动化必知必会 ------- Requests库

运行结果如下:

Python接口自动化必知必会 ------- Requests库

2、如何发起post请求

1、发送请求参数是form表单的post请求

对url地址为http://localhost:8080/pinter/com/login,请求参数为form表单的post接口进行接口测试,请求参数为userName=admin&password=1234,需要用关键字data对请求参数就行接收。

代码如下:

Python接口自动化必知必会 ------- Requests库

运行结果如下:

Python接口自动化必知必会 ------- Requests库

2、发送请求参数是json的post请求

对url地址为http://localhost:8080/pinter/com/register,请求参数为json的post接口进行接口测试,请求参数为{"userName":"test","password":"1234","gender":1,"phoneNum":"110","email":"beihe@163.com","address":"Beijing"},需要用关键字json对请求参数进行接收。

代码如下:

Python接口自动化必知必会 ------- Requests库

运行结果如下:

Python接口自动化必知必会 ------- Requests库

3、发送请求参数是file文件的post请求

对url地址为http://localhost:8080/pinter/file/api/upload,请求参数为file文件的post接口进行接口测试,即上传文件的接口,需要用关键字files进行参数的接收

代码如下:

Python接口自动化必知必会 ------- Requests库

运行的结果如下:

Python接口自动化必知必会 ------- Requests库

3、响应对象的常见api方法有哪些

  • response.json()   可以解析数据类型为json的响应值,返回的数据结构是字典

  • response.text      可以解析数据类型为任何的响应值,返回的数据结构是字符串

  • response.headers  可以获取响应头里面的信息

  • response.status_code  可以获取响应状态码

代码如下:

Python接口自动化必知必会 ------- Requests库

运行结果如下:

Python接口自动化必知必会 ------- Requests库

python的requests的库今天就讲解到这了,读者朋友们有什么问题可以在留言区留言哟。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!Python接口自动化必知必会 ------- Requests库

最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!喜欢软件测试的小伙伴们,可以加入我们的测试技术交流扣扣群:779450660里面有各种软件测试资源和技术讨论)

 

上一篇:【亲测有效】SignalTap信号被优化


下一篇:#033 信安培训基础题Python解决网络安全实验室|网络信息安全攻防学习平台