requests接口测试

本文介绍了如何利用Python的requests库进行接口测试,包括GET和POST请求的使用,以及如何处理响应。同时,文章详细阐述了如何结合unittest和pytest框架,从csv和excel文件读取数据进行接口测试,并利用HTMLTestRunner和allure生成测试报告。
摘要由CSDN通过智能技术生成

一、介绍

requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到, Requests是Python语言的第三方的库,专门用于发送HTTP请求

二、前提

在当前项目安装requests包:pip install requests

三、get请求

1.无参请求:

r  = requests.get('http://www.baidu.com')

2.有参请求:

#方式一:参数和路径分开
param = {'key1':'value1','key2':'value2','key3':None} 
r = requests.get('http://www.baidu.com',params=param)

#方式二:参数和路径拼接
r = requests.get('http://www.baidu.com?key1=value1&key2=value2&key3=None')

#如果请求参数为字符串类型,可以通过eval()执行一个字符串表达式,并返回表达式的值
param = eval("{'key1':'value1','key2':'value2','key3':None}")
r = requests.get('http://www.baidu.com',params=param)

四、post请求

param = {'key1':'value1','key2':'value2'}
r = requests.post("http://www.baidu.com", data=param)

五、requests的响应

r.status_code        响应状态码
r.heards             响应头
r.cookies            响应cookies
r.text               响应文本
r.json()             响应的字典类型数据 
r. encoding          当前编码
r. content           以字节形式(二进制)返回

六、requests扩充

#1:添加等待时间,超过等待时间则报错 
requests.get(url,timeout=1)
#2:添加请求头信息
requests.get(url,headers=headers) 
#3:添加文件
requests.post(url, files=files)
#4:文件传输
url = 'http://www.baidu.com'
files = {'file': open('report.xls', 'rb')} 
r = requests.post(url,files=files)

七、接口关联

  • 在第一个接口中设置全局变量,在第二个接口中通过全局变量名引用
import requests,unittest

class TestClass(unittest.TestCase):
    def testGet(self):
        #通过eval()执行一个字符串表达式,并返回表达式的值
        param=eval('{"phone":"13355571803","key":"f32c5a4a9d4356a16af2bdf1739f908e"}')
        response=requests.get(url="http://apis.juhe.cn/mobile/get",params=param)
        print(response.json())
        #设置全局变量
        global city
        #断言
        city=response.json()["result"]["city"]
        self.assertEqual(city,"徐州")

    def testPost(self):
        #post请求
        data
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

彭俞伟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值