Python接口测试实战2 - 使用Python发送请求

本篇博客主要介绍了如何使用Python的requests库进行接口测试,包括GET、POST请求,JSON类型处理,requests库详解,以及带安全认证的请求。内容涵盖了requests的安装、使用方法、JSON序列化和反序列化,以及Cookie/Session认证和Token认证的实践。
摘要由CSDN通过智能技术生成

如有任何学习问题,可以添加作者微信:lockingfree

课程目录

Python接口测试实战1(上)- 接口测试理论
Python接口测试实战1(下)- 接口测试工具的使用
Python接口测试实战2 - 使用Python发送请求
Python接口测试实战3(上)- Python操作数据库
Python接口测试实战3(下)- unittest测试框架
Python接口测试实战4(上) - 接口测试框架实战
Python接口测试实战4(下) - 框架完善:用例基类,用例标签,重新运行上次失败用例
Python接口测试实战5(上) - Git及Jenkins持续集成
Python接口测试实战5(下) - RESTful、Web Service及Mock Server

更多学习资料请加QQ群: 822601020获取

本节内容

  • requests安装
  • requests使用
  • JSON类型解析
  • requests库详解
  • 带安全认证的请求

序言

上节课我们学习了接口测试的理论,抓包工具及使用Postman手工测试各种接口,这节课我们主要讲解使用Python语言来发送接口请求,实现接口测试自动化。

发送请求,我们这里主要使用Python的一个第三方包(需要先安装):requests
Python3自带的http.client和urllib.request都能发送http请求,不过相对来说使用较麻烦,第三方库requests让发送请求更简单,支持自动编码解码,会话保持,长连等

参考: requests官方文档

requests安装

  • Windows: 打开cmd命令行,输入pip install requests,等待安装完成即可
  • Linux: (建议使用Python3),终端中输入pip3 install requests,等待安装完成即可
  • Mac: (建议使用Python3), sudo python3 -m pip install requests,等待安装完成即可

验证是否安装成功:

打开命令行,输入python,在python shell环境下输入import requests没有报错即安装成功

requests的使用

一个最简单的GET请求

发送一个请求分3步:

  1. 组装请求: 请求可能包含url,params(url参数),data(请求数据),headers(请求头),cookies等,最少必须有url
  2. 发送请求,获取响应:支持get,post等各种方法发送,返回的是一个响应对象
  3. 解析响应: 输出响应文本

打开Pycharm,新建一个demo项目,项目下新建一个Python文件,输入以下内容:

# 导入requests包
import requests 

# 1. 组装请求
url = "http://httpbin.org/get"  # 这里只有url,字符串格式
# 2. 发送请求,获取响应
res = requests.get(url) # res即返回的响应对象
# 3. 解析响应
print(res.text)  # 输出响应的文本

带参数的GET请求

import requests 

url = "http://www.tuling123.com/openapi/api?key=ec961279f453459b9248f0aeb6600bbe&info=你好"  # 参数可以写到url里
res = requests.get(url=url) # 第一个url指get方法的参数,第二个url指上一行我们定义的接口地址
print(res.text)  

import requests 

url = "http://www.tuling123.com/openapi/api"
params = {"key":"ec961279f453459b9248f0aeb6600bbe","info":"你好"} # 字典格式,单独提出来,方便参数的添加修改等操作
res = requests.get(url=url, params=params) 
print(res.text)  

传统表单类POST请求(x-www-form-urlencoded)

import requests 

url = "http://httpbin.org/post"
data = {"name": "hanzhichao", "age": 18} # Post请求发送的数据,字典格式
res = requests.post(url=url, data=data) # 这里使用post方法,参数和get方法一样
print(res.text)  

JSON类型的POST请求(application/json)

import requests 

url = "http://httpbin.org/post"
data = '''{
        "name": "hanzhichao",
        "age": 18
        }''' # 多行文本, 字符串格式,也可以单行(注意外层有引号,为字符串) data = '{"name": "
  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值