您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python编写接口测试文档(以豆瓣搜索为例)

51自学网 2021-10-30 22:25:54
  python
这篇教程python编写接口测试文档(以豆瓣搜索为例)写得很实用,希望能帮到您。

前言

很多人会使用postman工具,或者熟悉python,但不一定会使用python来编写测试用例脚本,postman里面可以完整的将python代码复制出来。

(以下所有内容以豆瓣网站搜索功能为例子)

一、postman接口用例转换为python测试用例

打开postman,点击右侧的</>图标,页面右边会显示脚本,顶部修改导出的语言,这边我使用的是Python-Reqyests

复制脚本,在PyCharm中打开即可,在导入使用之前如果没有reuqests库,可能会报错,我们需要安装reuqests库。

cmd命令窗口输入:pip install requests

导出后的脚本格式如下:

import requestsurl = "<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测试用例

1.下面就是转成pytest的测试用例

import requestsclass 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 requestsclass 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 requestsfrom common.common import Commonclass 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编写接口测试文档的文章就介绍到这了,更多相关python编写接口测试文档内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


详解Django模板层过滤器和继承的问题
python3 scrapy框架的执行流程
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。