python编写接口测试文档(以豆瓣搜索为例)

 更新时间:2021年07月08日 15:57:10   作者:测试baby  
接口测试的方式有很多,比如可以用工具(jmeter,postman)之类,也可以自己写代码进行接口测试,这篇文章主要给大家介绍了关于python编写接口测试文档,本文以豆瓣搜索功能为例,需要的朋友可以参考下

前言

很多人会使用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测试用例

1.下面就是转成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编写接口测试文档的文章就介绍到这了,更多相关python编写接口测试文档内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python实现随机分层抽样的示例详解

    Python实现随机分层抽样的示例详解

    在数据分析与机器学习的实践中,抽样是不可或缺的一步,分层抽样作为一种常用的抽样方法,能够确保样本在不同类别中的比例与总体一致,下面我们看看如何使用Python实现随机分层抽样吧
    2024-11-11
  • python 使用多线程创建一个Buffer缓存器的实现思路

    python 使用多线程创建一个Buffer缓存器的实现思路

    这篇文章主要介绍了python 使用多线程创建一个Buffer缓存器的实现思路,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • python实现微信机器人: 登录微信、消息接收、自动回复功能

    python实现微信机器人: 登录微信、消息接收、自动回复功能

    这篇文章主要介绍了python实现微信机器人: 登录微信、消息接收、自动回复功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • Python对象循环引用垃圾回收算法详情

    Python对象循环引用垃圾回收算法详情

    这篇文章主要介绍了Python对象循环引用垃圾回收算法详情,文章围绕主题展开详细的内容戒杀,具有一定的参考价值,感兴趣的小伙伴可以参考一下
    2022-09-09
  • Python+Selenium自动化环境搭建与操作基础详解

    Python+Selenium自动化环境搭建与操作基础详解

    Selenium是如今最常用的自动化测试工具之一,支持快速开发自动化测试框架,且支持在多种浏览器上执行测试。本文将介绍关于Selenium Python自动化脚本环境搭建的相关资料,需要的朋友可以参考下
    2022-03-03
  • pytest多进程或多线程执行测试实例

    pytest多进程或多线程执行测试实例

    这篇文章介绍了pytest多进程或多线程执行测试的实例,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-07-07
  • Python paramiko 模块浅谈与SSH主要功能模拟解析

    Python paramiko 模块浅谈与SSH主要功能模拟解析

    这篇文章主要介绍了Python paramiko 模块详解与SSH主要功能模拟,本文通过图文并茂的形式给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • Python利用zhdate模块实现农历日期处理

    Python利用zhdate模块实现农历日期处理

    zhdate模块统计从1900年到2100年的农历月份数据代码,支持农历和公历之间的转化,并且支持日期差额运算。本文将利用这一模块实现农历日期的处理,需要的可以参考一下
    2022-03-03
  • PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测

    PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测

    hub 模块是调用别人训练好的网络架构以及训练好的权重参数,使得自己的一行代码就可以解决问题,方便大家进行调用,这篇文章主要介绍了PyTorch 之 强大的 hub 模块和搭建神经网络进行气温预测,需要的朋友可以参考下
    2023-03-03
  • Python实现判断并移除列表指定位置元素的方法

    Python实现判断并移除列表指定位置元素的方法

    这篇文章主要介绍了Python实现判断并移除列表指定位置元素的方法,涉及Python针对列表的索引范围判断及元素删除等相关操作技巧,需要的朋友可以参考下
    2018-04-04

最新评论