Python中requests做接口测试的方法

那我先给你简述一下Python中使用requests进行接口测试的步骤:

  1. 导入requests模块
  2. 发送HTTP请求(GET、POST等)
  3. 获取HTTP响应
  4. 解析响应结果
  5. 断言检查结果是否符合预期

下面我来给你详细讲解Python中使用requests进行接口测试的方法,并附上两个实例说明。

第一条示例:

我们以测试百度搜索接口为例:

  1. 导入requests模块
import requests
  1. 发送HTTP请求

我们使用requests的get方法来发送HTTP GET请求:

url = 'https://www.baidu.com/s?'
params = {'wd': 'requests'}
r = requests.get(url, params=params)

这里我们向百度的搜索接口发送了一个包含参数"wd=requests"的GET请求。

  1. 获取HTTP响应
response = r.text

这里我们获取了响应的文本内容。

  1. 解析响应结果

  2. 断言检查结果是否符合预期

assert 'python-requests' in response

完整代码如下:

import requests

url = 'https://www.baidu.com/s?'
params = {'wd': 'requests'}
r = requests.get(url, params=params)

response = r.text

assert 'python-requests' in response

这个例子中,我们发送一个GET请求,获取了百度搜索的结果页面,然后检查页面内容中是否包含"python-requests"这个关键字。

第二条示例:

我们以测试Jira接口为例:

  1. 导入requests模块
import requests
  1. 发送HTTP请求

我们使用requests的post方法来发送HTTP POST请求:

url = "https://jira.example.com/rest/api/2/issue"
data = {
    "fields": {
        "project": {
            "key": "TEST"
        },
        "summary": "REST ye merry gentlemen.",
        "description": "Creating of an issue using project keys and issue type names using the REST API",
        "issuetype": {
            "name": "Bug"
        }
    }
}
headers = {
    "Content-Type": "application/json",
    "Authorization": "Basic base64(user:password)"
}
response = requests.post(url, json=data, headers=headers)

这里我们向Jira的REST API发送一个包含JSON格式数据的POST请求,创建了一个Bug类型的Issue。

  1. 获取HTTP响应
response = r.json()

这里我们获取了响应的JSON格式数据。

  1. 解析响应结果
assert response['fields']['project']['key'] == 'TEST'

这里我们断言检查创建的Issue的Project Key是否是"TEST"。

  1. 断言检查结果是否符合预期

完整代码如下:

import requests

url = "https://jira.example.com/rest/api/2/issue"
data = {
    "fields": {
        "project": {
            "key": "TEST"
        },
        "summary": "REST ye merry gentlemen.",
        "description": "Creating of an issue using project keys and issue type names using the REST API",
        "issuetype": {
            "name": "Bug"
        }
    }
}
headers = {
    "Content-Type": "application/json",
    "Authorization": "Basic base64(user:password)"
}
response = requests.post(url, json=data, headers=headers)

response = response.json()

assert response['fields']['project']['key'] == 'TEST'

这个例子中,我们使用POST请求向Jira的REST API创建了一个Bug类型的Issue,并检查了创建的Issue的Project Key是否正确。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中requests做接口测试的方法 - Python技术站

(0)
上一篇 2023年5月13日
下一篇 2023年5月13日

相关文章

  • python中ASCII码字符与int之间的转换方法

    Python中ASCII码字符与int之间的转换方法 在Python中,我们可以很方便地将ASCII码字符与整数进行相互转换。以下是具体操作方法。 将ASCII码字符转换为int 可以使用Python内置函数ord()将ASCII码字符转换为对应的整数。 # 示例1:将字符’A’转换为对应的整数 num = ord(‘A’) print(num) # 输出:…

    python 2023年5月31日
    00
  • 用python求一个数组的和与平均值的实现方法

    下面是“用python求一个数组的和与平均值的实现方法”的详细攻略: 首先要创建一个包含多个元素的数组。可以使用python内置的列表(list)来创建。例如,下面的代码会生成一个包含5个元素的列表: array = [1, 2, 3, 4, 5] 求一个数组的和:要求一个数组的和,最简单的方法就是使用python内置的sum()函数。它可以计算列表中所有元…

    python 2023年6月5日
    00
  • 对Python 文件夹遍历和文件查找的实例讲解

    针对对Python文件夹遍历和文件查找的实例讲解,可以按照以下步骤进行操作: 步骤一:使用os模块 Python自带的os模块提供了很多文件和目录操作的函数,可以方便地对文件夹进行遍历和文件查找。 具体使用方法是: import os def traverse_folder(folder_path): """ 遍历文件夹,输出文…

    python 2023年6月2日
    00
  • python+tifffile之tiff文件读写方式

    那我就来讲解一下“Python+tifffile之tiff文件读写方式”的完整攻略。 标题 标题应该清楚明了,表明本文要讲解的内容。 介绍 首先,我们需要介绍一下tiff文件。Tiff(格式全称是Tagged Image File Format, 即带标签的图像文件格式),是一种灵活、多样、良好并且在许多领域使用十分广泛的高质量图像格式。Tiff 文件是由一…

    python 2023年6月5日
    00
  • Python常用模块之threading和Thread模块及线程通信

    Python常用模块之threading和Thread模块及线程通信 简介 Python中可以使用Thread模块和threading模块来创建线程。其中Thread模块是低级模块,用于低级别的线程控制,而threading模块是高级模块,对Thread模块进行了封装,使得线程更加方便使用。本文将对这两个模块进行详细讲解,并讨论线程之间是如何进行通信的。 基…

    python 2023年5月19日
    00
  • Python3 Tkinter选择路径功能的实现方法

    下面我来详细讲解“Python3 Tkinter选择路径功能的实现方法”的完整攻略。 一、介绍 在开发桌面应用程序时,可能需要用户通过图形界面选择某个文件或路径。Python3自带的图形用户界面(GUI)库Tkinter提供了一些强大的控件,其中就包括了文件选择器(File Dialog)控件,用于选择文件或文件夹路径。本攻略主要讲解如何使用Tkinter选…

    python 2023年6月13日
    00
  • 解决链式 Python 拼图:

    【问题标题】:Solving a Chain Link Python Puzzle:解决链式 Python 拼图: 【发布时间】:2023-04-07 00:17:01 【问题描述】: 我不确定从以下 python 谜题开始。 “你持有一个链的链接。实现一个方法longerSide来查找链的哪一侧有更多的链接,相对于你持有的链接。如果左侧有更多的链接返回Si…

    Python开发 2023年4月7日
    00
  • 解决Python中定时任务线程无法自动退出的问题

    针对Python中定时任务线程无法自动退出的问题,可以采用以下攻略: 使用Timer类代替Thread类启动定时任务线程 在定时任务函数中使用Event类通信以实现线程退出 使用Timer类启动定时任务线程 在Python中,启动定时任务有很多种方式,其中一种比较常用的方式是使用Thread类来创建线程,然后在线程中执行定时任务。但是,在使用Thread类启…

    python 2023年5月19日
    00
合作推广
合作推广
分享本页
返回顶部