Python+Requests+PyTest+Excel+Allure 接口自动化测试实战

yizhihongxing

Python+Requests+PyTest+Excel+Allure 接口自动化测试实战

本攻略将详细介绍如何使用Python的Requests库、PyTest测试框架、Excel作为测试数据源以及Allure生成漂亮的测试报告进行接口自动化测试。

准备工作

  1. 安装Python:确保您的系统已经安装了Python,并配置好了环境变量。

  2. 安装依赖库:使用pip命令安装以下依赖库:

shell
pip install requests pytest openpyxl allure-pytest

  1. 创建项目目录结构:创建一个新的项目目录,并按照以下结构组织文件:

├── api
│ ├── __init__.py
│ └── api_client.py
├── data
│ └── test_data.xlsx
├── reports
└── tests
├── __init__.py
└── test_api.py

编写接口测试用例

  1. 创建测试数据文件:在data目录下创建一个Excel文件test_data.xlsx,并在其中创建一个名为test_cases的工作表,用于存储测试用例数据。

  2. 编写接口测试用例:在test_cases工作表中,按照以下格式编写接口测试用例数据:

Case ID Method URL Headers Body Expected Status Code
1 GET https://api.com/ 200
2 POST https://api.com/ {\"name\": \"John Doe\"} 201
...
  1. 创建API客户端:在api目录下创建一个api_client.py文件,编写一个API客户端类,用于发送请求和处理响应。

```python
import requests

class APIClient:
def init(self):
self.session = requests.Session()

   def send_request(self, method, url, headers=None, body=None):
       response = self.session.request(method, url, headers=headers, json=body)
       return response

```

  1. 编写测试用例:在tests目录下创建一个test_api.py文件,编写接口测试用例。

```python
import pytest
from api.api_client import APIClient
from openpyxl import load_workbook

@pytest.fixture(scope='module')
def api_client():
return APIClient()

@pytest.fixture(scope='module')
def test_data():
workbook = load_workbook('data/test_data.xlsx')
sheet = workbook['test_cases']
data = []
for row in sheet.iter_rows(min_row=2, values_only=True):
data.append(row)
return data

@pytest.mark.parametrize('case_id, method, url, headers, body, expected_status_code', test_data())
def test_api(api_client, case_id, method, url, headers, body, expected_status_code):
response = api_client.send_request(method, url, headers=headers, body=body)
assert response.status_code == expected_status_code
```

运行测试用例

  1. 运行测试用例:在项目根目录下打开终端,运行以下命令执行测试用例:

shell
pytest --alluredir=reports

  1. 生成Allure报告:运行以下命令生成Allure测试报告:

shell
allure serve reports

这将在默认浏览器中打开Allure报告,您可以查看测试结果、错误信息、测试步骤等详细信息。

以上是关于使用Python+Requests+PyTest+Excel+Allure进行接口自动化测试的完整攻略。希望对您有所帮助!如果您还有其他问题,请随时提问。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python+Requests+PyTest+Excel+Allure 接口自动化测试实战 - Python技术站

(0)
上一篇 2023年10月17日
下一篇 2023年10月17日

相关文章

  • 分享个简易版Linux服务器初始化Shell脚本

    下面是关于分享Linux服务器初始化Shell脚本的完整攻略: 1. 简介 Shell脚本是针对Unix/Linux操作系统的一种脚本语言,是管理和维护Linux服务器的重要工具。本文将分享一份简易的Linux服务器初始化Shell脚本,用于快速配置普通用户、安装必要软件、配置防火墙等。 2. 环境 编写Shell脚本需要保证以下两点: 有一个Linux服务…

    other 2023年6月20日
    00
  • CentOS下yum软件包管理器的基本使用攻略

    CentOS下yum软件包管理器的基本使用攻略 Yum是CentOS和其他基于Red Hat的Linux发行版中常用的软件包管理器。它可以帮助用户方便地安装、更新和删除软件包。以下是使用Yum的基本步骤和示例说明。 步骤一:更新软件包列表 在使用Yum之前,首先需要更新软件包列表,以确保获取到最新的软件包信息。使用以下命令更新软件包列表: sudo yum …

    other 2023年10月13日
    00
  • CentOS关于quota的总结与实践详解

    CentOS关于quota的总结与实践详解 什么是quota quota是一种磁盘空间配额限制机制,可以限制用户或组在使用磁盘空间时的上限。CentOS是一种常见的Linux操作系统,其内置了quota软件包,可以实现对用户或组的配额限制。 安装quota软件包 在CentOS中安装quota软件包十分简单,执行以下命令即可: yum install -y …

    other 2023年6月27日
    00
  • 鼠标右键的普通背景怎么更换为漂亮的菜单背景?

    下面是“鼠标右键的普通背景怎么更换为漂亮的菜单背景?”的完整攻略。 背景知识 首先,我们需要知道一些背景知识。在 Windows 操作系统中,鼠标右键点击之后弹出的菜单叫做“上下文菜单”,也被称为“快捷菜单”。 Windows 系统提供了一些默认的快捷菜单样式,但是这些样式比较简单,不能满足用户的需求。因此,我们可以通过修改注册表来更换快捷菜单的背景图片,从…

    other 2023年6月27日
    00
  • 8代酷睿Coffee Lake首测 Intel i5 8250U移动CPU处理器性能对比评测

    8代酷睿Coffee Lake首测 Intel i5-8250U移动CPU处理器性能对比评测攻略 1. 硬件配置和测试环境准备 在进行性能对比评测之前,我们需要准备以下硬件配置和测试环境: 一台搭载Intel i5-8250U移动CPU的笔记本电脑 操作系统:Windows 10 测试软件:CPU-Z、Cinebench、Geekbench等 2. 测试方法…

    other 2023年10月16日
    00
  • 易语言编程基础知识

    易语言编程基础知识攻略 易语言是一种面向对象的编程语言,常用于Windows平台。本文将详细讲解易语言编程的基础知识,包括程序结构、数据类型、控制语句、函数、数组等。 程序结构 每个易语言程序至少包括一个程序入口,即主函数Main。程序入口的格式为: Sub Main() ‘ 程序主体代码 End Sub 程序主体代码写在Sub Main()和End Sub…

    other 2023年6月25日
    00
  • 重学Go语言之变量与常量的声明与使用详解

    重学Go语言之变量与常量的声明与使用详解 本攻略将详细讲解Go语言中变量和常量的声明与使用。在学习过程中,我们将涵盖变量和常量的声明、赋值、作用域以及类型推断等方面的内容。 变量的声明与使用 在Go语言中,变量的声明使用关键字var,后跟变量名和类型。以下是一个示例: var age int 在上述示例中,我们声明了一个名为age的整数类型变量。我们可以通过…

    other 2023年8月8日
    00
  • python中子类与父类的关系基础知识点

    我们来详细讲解一下Python中子类和父类的关系基础知识点。 基础知识点 在面向对象编程中,子类是继承父类的属性和方法的。父类也被称为基类或超类,子类也被称为派生类或衍生类。子类可以继承父类的所有属性和方法,并且还可以添加新的属性和方法,或者覆盖/修改父类中的属性和方法。 要定义一个子类,需要使用关键字class,然后在类名后面加上父类的名称,用圆括号括起来…

    other 2023年6月26日
    00
合作推广
合作推广
分享本页
返回顶部