Python实现接口测试:requests

之前有不少文章讲解了如何使用Jmeter进行接口测试,其实使用Python也可以进行接口测试,并且很简单。

 

Requests安装

首先要安装requests的依赖库,使用pip install requests安装即可

 

假设有一个接口:当用户传入姓名和地点时,就返回一些restaurant:

URL:http://pythontest.com/getrestaurant/

入参:username、location

 

Get方法

如果是Get方法,那么可以通过如下代码去测试:

#coding=utf-8
import requests

url = "http://pythontest.com/getrestaurant?"
# 接口请求的URL
headers = {
            "Connection": "keep-alive",
            "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36",
        }


testdatas = ["Alice","","张三",]
# 需要测试的数据场景,username为英文Alice、Ali、空值、中文张三

for testdata in testdatas:
# 发送请求
    data = {'username': testdata, 'location': 'zh'}
    # 发送请求的参数及数据
    response = requests.get(url,headers=headers,data=data)
    print (response.text)
    # 打印返回的数据

    assert("判断返回码", response.status_code == 200)
    if response.status_code == 200:
        print('成功')
    else:
        print('失败')
    # 判断返回码,返回码200即成功,否则失败

 

Post方法

如果是post方法,可以使用下面的方式:

# coding:utf-8
import requests
# 登录请求地址
url = "http://pythontest.com/getrestaurant?"
# 请求头
headers = {
        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
}
# body数据
data = {
        "username":"alice",   # 账号
        "location":"zh",  # 地区
}
# 发送请求
res = requests.post(url,headers=headers,data=data)
# 使用post方法传参请求url

print (res.text)
# 打印返回回来的数据

if '成功' in res.text:
    print("成功")
else:
    print("失败")
# 判断返回的数据中是否有成功

如果有多条测试数据,和上方get的示例一样,直接使用testdata列表即可。

另外还可以通过增加assert的方式,进行更多的接口返回值的判断。

 

 

你可能感兴趣的:(Python,测试分享)