python requests的基本用法

2022-07-22 15:28:12 浏览数 (1)

大家都知道了接口测试,那么都有什么测试方法呢,咱们有常用的工具postman,jmeter等。这些都提供了很强大的功能,但还有基于代码的测试,那就是python requests,如果您有基本的编程能力,您可以考虑一下这个,优点在于可以自动化,维护成本更低。那么本篇也是给大家介绍一下基本的使用方法。

那么既然是接口测试,那么就需要有接口,这个接口可以是公共的api,比如百度翻译接口,微信公众号接口,微信登录接口,支付宝付款接口等,当然还可以是一个自己搭好的网站,那么本次咱们就以我自己写的一个最简单的作为咱们的测试接口,具体还是讲python requests的用法,怎么怎么写接口呢,咱们就用python中的flask框架写一个很简单的代码,在写之前需要安装一个flask模块,具体直接pip install flask就可以了。那么具体写出来是什么效果呢,咱们来看代码

代码语言:javascript复制
from flask import Flask,request

app = Flask(__name__)  # ,template_folder=
app.debug = True  # 自动重启
# 路由函数,改变函数执行的函数,理解为输入地址执行对应地址的函数
@app.route("/", methods=['GET', 'POST'])  # method加上其他方法,否则只有get
def go():
    if request.method=="GET":
        return {"code": "success"}

    elif request.method=="POST":
        # 获取post传过来的值,然后作比较
        if request.form.get("user")=="xiaoli" and request.form.get("pwd")=="123456":
            return {"code": "success"}
        else:
            return {"code": "ERROR"}

# 启动服务器
if __name__ == '__main__':
    app.run()

如果大家不懂,可以看看flask框架的一些知识,这里不再过多讲解,也可以将上面的代码复制,直接运行就可以了,就可以把本机当做一个服务器了,url是http://127.0.0.1:5000/。咱们写完了服务端,咱们开始写python requests的具体代码了,如下

代码语言:javascript复制
# 需要导入requests模块
import requests
# 简单的get请求,用get方法
res = requests.get("http://127.0.0.1:5000/")
# print(res.text)
# 获取响应额结果
print(res.content.decode("utf-8"))

运行结果如下图所示

以上就是运行了简单的get请求,返回的数据说明成功了,接口没有问题,下面执行一下post请求代码如下

代码语言:javascript复制
import requests
url = "http://127.0.0.1:5000/"
data = {"user": "xiaoli",
            "pwd":"123456" }

# 简单的get请求
# res = requests.get("http://127.0.0.1:5000/")
# print(res.text)
# 执行post请求,参数是url和body数据,如果有头部参数特殊填写则后面加上headers=“”
res = requests.post(url=url, data=data)
print(res.content.decode("utf-8"))

下面的结果就是post成功的结果,用户名密码一致。

上面咱们传的数据是正确的,咱们传一下错误的,看代码如何反应,把数据user改成xiaoli12,看看怎么反应

代码语言:javascript复制
import requests
url = "http://127.0.0.1:5000/"
# user改成xiaoli123
data = {"user": "xiaoli123",
            "pwd":"123456" }

# 简单的get请求
# res = requests.get("http://127.0.0.1:5000/")
# print(res.text)
res = requests.post(url=url, data=data)
print(res.content.decode("utf-8"))

结果如下所示

这个也是与预期结果一样,没有问题,保持用户唯一性,

以上就是咱们requests的基础用法,后续会继续更新高级的用法,比如自动化等,好了文章就到这里啦

0 人点赞