Python中requests做接口测试的方法

yizhihongxing

那我先给你简述一下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 Selenium爬取内容并存储至MySQL数据库的实现代码

    Python Selenium爬取内容并存储至MySQL数据库的实现代码 Python Selenium是一个自动化测试工具,可以模拟用户在浏览器中的操作,如点击、输入、滚动等。我们可以使用Python Selenium来爬取网页内容,并将其存储至MySQL数据库中。本文将详细讲解Python Selenium爬取内容并存储至MySQL数据库的实现代码,包括…

    python 2023年5月15日
    00
  • 完美解决在oj中Python的循环输入问题

    下面我将为您介绍“完美解决在oj中Python的循环输入问题”的攻略。 问题描述 在OJ(Online Judge)平台上,提交题目解答时,往往需要多组输入,而Python是解析输入的语言之一。Python使用input()函数读取输入,但是input()函数只能读取一行输入。在读取多行输入的问题上,Python就显得比其他语言(如C++)繁琐,浪费时间和体…

    python 2023年6月3日
    00
  • Python/Pandas:根据共同的行标识符和唯一的行列组合从不同的数据帧中划分数字列

    【问题标题】:Python/Pandas: Divide numeric columns from different dataframes based on a common row identifier and unique row-col combinationPython/Pandas:根据共同的行标识符和唯一的行列组合从不同的数据帧中划分数字列 【…

    Python开发 2023年4月5日
    00
  • Selenium之模拟登录铁路12306的示例代码

    下面是“Selenium之模拟登录铁路12306的示例代码”的完整攻略,包含示例说明: 简介 Selenium是目前很流行的测试自动化工具,可以通过代码驱动模拟一个用户的操作,例如打开网页、点击按钮、输入文本等。本文将展示如何使用Selenium模拟登录铁路12306。 步骤 安装Selenium和浏览器驱动 首先需要安装Selenium库和浏览器驱动,例如…

    python 2023年6月3日
    00
  • 读取json格式为DataFrame(可转为.csv)的实例讲解

    下面是关于“读取json格式为DataFrame(可转为.csv)的实例讲解”的详细攻略: 一、前置知识 在学习如何读取json格式为DataFrame的过程中,需要了解以下几个知识点:1. json格式的基本语法和结构,了解json对象、属性、数组等的概念以及如何访问它们的值;2. DataFrame的基本概念,包括DataFrame的结构、如何创建Dat…

    python 2023年6月3日
    00
  • 在 Python 中创建DataFrame的方法

    在 Python 中,我们可以使用多种方法来创建DataFrame。其中比较常用的方法包括: 从列表或数组创建: “`python import pandas as pd # 创建数据列表 data = [[‘Alice’, 25], [‘Bob’, 30], [‘Charlie’, 35]] # 创建DataFrame对象 df = pd.DataFra…

    python 2023年6月2日
    00
  • Python tkinter实现日期选择器

    下面我将详细讲解Python tkinter实现日期选择器的完整攻略。 简介 Python tkinter是Python的标准GUI库,用于开发桌面应用程序。它提供了丰富的GUI组件,例如按钮、文本框、标签、单选框等。在Python tkinter中实现日期选择器需要用到DateTimePicker、Calendar、Toplevel等组件。 步骤 下面是实…

    python 2023年6月2日
    00
  • python做反被爬保护的方法

    针对如何让Python反爬虫,我们可以列举以下几种方法。 1. 设置请求头 Headers 请求头中的User-Agent给出了客户端的相关信息,网站可以根据User-Agent判断请求来自哪里。默认情况下,Python的requests库并不会发送类似于浏览器的请求头信息,这会被很多网站认为是爬虫程序而被拒绝请求。因此在编写Python爬虫时需要添加请求头…

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