python接口自动化4 requests库的相关使用

4-1 requests安装 

  1. 概念:使用requests可以模拟浏览器发送请求Requests 是用python语言编写的第三方库基于 urllib多用于接口测试
  2. requests安装

如果报这个错:

WARNING: You are using pip version 19.3.1; however, version 20.0.2 is available.

You should consider upgrading via the 'python -m pip install --upgrade pip' command.

说明pip不是最新版本,需要升级最新版本,执行以下命令

python -m pip install --upgrade pip

 

安装requests命令:pip install requests

 

检查是否安装成功:进入python环境后,执行import requests,如果不报错就成功了

>>Python

>>import requests

>>

4-2 requests简单使用-post

import requests
data={
    'username':'zhangsan',
    'password':111111
}
res =requests.post(url='http://127.0.0.1:8000/login/',data=data)
print(res.text)  #显示响应文本

{"user": "zhangsan", "passwordNum": "111111"}

注意:get和post的参数不一样

Requests.get(url=url,params=params)
Requests.post(url=url,data=data

4-3 重构发送post请求

import requests
url='http://127.0.0.1:8000/login/'
data={
    'username':'zhangsan',
    'password':111111
}
def send(url,data):  #requests.post方法进行封装
    res =requests.post(url=url,data=data)
    return res.json()
print(send(url,data))
结果:
{'user': 'zhangsan', 'passwordNum': '111111'}

4-4 重构get请求+格式化响应数据

import requests
import json
url='http://127.0.0.1:8000/login/'
data={
    'username':'test',
    'password':'111111'
}
def send(url,data):  #requests.post方法进行封装
    res =requests.get(url=url,params=data).json() # res返回dict格式
    return json.dumps(res,indent=2,sort_keys=True) #json.dumps把dict转换成str;indent数据以2个空格进行缩进
print(send(url,data))

结果:
{
  "passwordNum": "111111",
  "user": "test"
}

4-5 使用类封装接口测试脚本

import requests
import json
class RunMain():
    def __init__(self,url,method,data=None):
        self.res =self.run_main(url,method,data) #调用类后,直接调用run_main方法
    def send_get(self,url,data):  #requests.get方法进行封装
        res =requests.get(url=url,params=data).json() # res返回dict格式
        return json.dumps(res,indent=2,sort_keys=True) #json.dumps把dict转换成str;indent数据以2个空格进行缩进
    def send_post(self,url,data):
        res = requests.post(url=url, data=data).json()  # res返回dict格式
        return json.dumps(res, indent=2, sort_keys=True)
    def run_main(self,url,method,data=None):
        res = None
        if method=='GET':
            res= self.send_get(url,data)
        else:
            res= self.send_post(url,data)
        return res
if __name__ == '__main__':
    url = 'http://127.0.0.1:8000/login/?username=test1&password=111'
    # data = {
    #     'username': 'test1',
    #     'password': 222
    # }
    run = RunMain(url,'GET')
    print(run.res)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值