python代码利用requests模块执行接口测试

前言:很多人听过接口测试,但是没了解过接口测试,现在这篇文章带你了解接口测试,相信我这并不难,这反而很有趣

**

一、准备工作

**
准备python3 环境
准备requests库

二、准备两份接口文档为接下来的测试做准备
这篇文章只采用常用的接口请求方法:get,post
所以我只准备了get方法和post方法的接口文档及接口

get接口文档
接口地址:http://v.baidu.com/v?word=知否知否应是绿肥红瘦&ie=utf-8
请求方式:get
功能说明:搜索片名

参数名 说明
word 片名
ie 编码格式

post接口文档
接口地址:http://user.360kad.com/Login/AjaxLoginV2
请求方式:post
功能说明:登录接口
注册地址:http://user.360kad.com/Register/Mobile?returnUrl=/user

参数名 说明
userName 用户名(这需要你去注册一个账号和密码)
pass 用户密码(填你注册时候的密码)
isRemberName 记住密码,记住密码为true,不记住为false
loginPlatform 默认为1

三、我们先来做get接口测试
1、我们需要先导入requests库不然接下来的写的代码可能执行不了
import requests

2.详细步骤
我们需要接口文档中的地址
url = “http://v.baidu.com/v?word=知否知否应是绿肥红瘦&ie=utf-8”

我们试试请求该网址,用requests中的get方法
request = requests.get(url)
print(“requset.text”)#打印出网页源码,返回的是字符串类型源码

我们也可以用以下格式请求接口
url = ‘http://v.baidu.com/v’
params = {‘word’:‘知否知否应是绿肥红瘦’,‘ie’:‘utf-8’}
request = requests.get(url,params=params)
print(“requset.text”)#打印的内容和上面的一样

接下来我们用if方法来判断是否请求成功吧
if request.text.contains(‘知否知否应是绿肥红瘦’):
#注意注意__contains__前后都有两个下划线,
#不知道什么原因前面没有显示下划线
#此步为判断结果是否包含关键字
print(“get接口测试通过”)
else:
print(‘get接口测试不通过’)

contains:python判断字符串(string)是否包含(contains)子字符串的方法

get接口测试就完成啦,是不是很简单,接下来让我们来试试post接口测试

完整代码如下:
import requests
url = ‘http://v.baidu.com/v?’
params = {‘word’:‘知否知否应是绿肥红瘦’,‘ie’:‘utf-8’}
request = requests.get(url,params=params)
if request.text.contains(‘知否知否应是绿肥红瘦’):#此步为判断结果是否包含关键字
print(“get接口测试通过”)
else:
print(‘get接口测试不通过’)

四、我们现在来试试post接口测试
1、我们先导入requests库,别忘了这步
import requests

2、详细步骤
我们把接口测试的文档地址复制进来并命个名
url = ‘http://user.360kad.com/Login/AjaxLoginV2’

我们别忘了他的参数,这得用字典格式,如下:
data = {
‘userName’:‘填你注册的账号’,
‘pass’:‘填你注册时的密码’,
‘isRemberName’:‘false’,
‘loginPlatform’:‘1’
}

然后我们就可以请求这个接口啦!!
request = requests.post(url,data)
这样就可以请求这个接口了,是不是很简单。
接下来我们来看看接口返回的数据
print(“request.text”)
打印出来的内容如下:
{“Code”:“1”,“Result”:true,“Message”:“登录成功!”,“Data”:null}

我们转一下格式,转为json格式方便我们使用返回的数据
print(“request.json()”)
打印出来的内容变为了:
{‘Code’: ‘1’, ‘Result’: True, ‘Message’: ‘登录成功!’, ‘Data’: None}

返回的内容有result和message我们看这两个
接下来我们要判断接口测试是否成功我们可以看result的返回值
我们用if或者assert来判断

用if判断:
if request.json()[“Result”] == True:
print(“post接口测试通过”)#测试通过时打印出来的内容
else:
print(“post接口测试不通过”)#测试不通过时打印出来的内容

用assert断言判断:
assert request.json()[“Result”] == True
注意用assert断言判断出错时会直接返回异常AssertionError

完整代码如下:
import requests
url = ‘http://user.360kad.com/Login/AjaxLoginV2’
data = {
‘userName’:‘填你注册的账号’,
‘pass’:‘填你注册时的密码’,
‘isRemberName’:‘false’,
‘loginPlatform’:‘1’
}
request = requests.post(url,data)
#assert request.json()[“Result”] == True#此为断言判断
if request.json()[“Result”] == True:
print(“post接口测试通过”)#测试通过时打印出来的内容
else:
print(“post接口测试不通过”)#测试不通过时打印出来的内容

猜你喜欢

转载自blog.csdn.net/qq_42795860/article/details/86488222