- 📢专注于分享软件测试干货内容,欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
- 📢交流讨论:欢迎加入我们一起学习!
- 📢资源分享:耗时200+小时精选的「软件测试」资料包
- 📢 最困难的时候,也就是我们离成功不远的时候!
接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,这篇文章主要给大家介绍了关于python编写接口测试文档,本文以豆瓣搜索功能为例,需要的朋友可以参考下
目录
- 前言
- 一、postman接口用例转换为python测试用例
- 二、转换为pytest测试用例
- 三、封装POST和GET方法
- 总结
- 最后
前言
很多人会使用postman工具,或者熟悉python,但不一定会使用python来编写测试用例脚本,postman里面可以完整的将python代码复制出来。
(以下所有内容以豆瓣网站搜索功能为例子)
一、postman接口用例转换为python测试用例
打开postman,点击右侧的</>图标,页面右边会显示脚本,顶部修改导出的语言,这边我使用的是Python-Reqyests
复制脚本,在PyCharm中打开即可,在导入使用之前如果没有reuqests库,可能会报错,我们需要安装reuqests库。
cmd命令窗口输入:pip install requests
导出后的脚本格式如下:
import requests
url = "<https://www.douban.com/search?">
payload={'q': '三体'}
files=[
]
headers = {
'Cookie': 'bid=5bBvkukAbvY'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
二、转换为pytest测试用例
下面就是转成pytest的测试用例
import requests
class TestDouban:
def test_douban(self):
url = "<https://www.douban.com/search?">
payload = {'q': '三体'}
files = []
headers = {
'Cookie': 'bid=5bBvkukAbvY'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)
三、封装POST和GET方法
在一个项目中,根路由的路径是一样的,只是不同功能对应的具体的接口不一致,且POST和GET是目前测试用例中比较通用的方法,所以可以将根路由、POST和GET方法封装成一个通用的类,后面直接调用即可。
1.common.py—公共类封装
import requests
class Common:
def __init__(self):
# 豆瓣根路由
self.url_root = "<https://www.douban.com>"
# get请求,uri是接口具体地址,params是get请求的参数,如果没有,默认为空
def get(self, uri, params=''):
# 拼凑访问地址
url = self.url_root + uri + params
# 通过get请求访问对应地址
response = requests.get(url)
# 返回request的response结果,类型为requests的Response类型
return response
# post请求,uri是接口具体地址,params是post请求的参数,如果没有,默认为空
def post(self, uri, params=''):
# 拼凑访问地址
url = self.url_root + uri
# 有参数,则访问对应的url,并赋值给默认参数data
if len(params) > 0:
response = requests.post(url, data=params)
# 无参数,只需要访问对应的url即可
else:
response = requests.post(url)
# 返回request的response结果,类型为requests的Response类型
return response
2.具体接口测试用例
import requests
from common.common import Common
class TestDouban:
def setup(self):
self.com = Common()
def test_douban(self):
uri = "/search?"
payload = {'q': '三体'}
response = self.com.post(uri, payload)
# 由于file不需要,就将file删除了,至于hearder是否要添加可根据需求来定
执行结果如下:
总结
到此这篇关于python编写接口测试文档的文章就介绍到这了。
最后
如果你想学习自动化测试,那么下面这套视频应该会帮到你很多
如何逼自己1个月学完自动化测试,学完即就业,小白也能信手拈来,拿走不谢,允许白嫖....
最后我这里给你们分享一下我所积累和整理的一些文档和学习资料,有需要直接领取就可以了!
以上内容,对于软件测试的朋友来说应该是最全面最完整的备战仓库了,为了更好地整理每个模块,我也参考了很多网上的优质博文和项目,力求不漏掉每一个知识点,很多朋友靠着这些内容进行复习,拿到了BATJ等大厂的offer,这个仓库也已经帮助了很多的软件测试的学习者,希望也能帮助到你。