首页 > 编程语言 >python+requests+allure自动化

python+requests+allure自动化

时间:2025-01-06 14:56:08浏览次数:1  
标签:python pytest allure test requests data

python代码实现接口自动化

使用工具或代码代替人对接口进行测试的技术

1、整体流程

1、选取自动化测试用例

2、搭建自动化测试环境

3、搭建自动化测试框架

4、代码实现自动化

5、输出测试报告

6、实现持续集成

2、搭建自动化测试环境

编程语言:python

测试框架:pytest

接口请求:requests(pip3 install requests、: pip3 show requests)

3、搭建自动化测试框架

apiTestFramework # 项目名称

├── api # 定义封装被测系统的接口

├── script # 定义测试用例脚本

├── data # 存放测试数据文件

├── report # 存放生成的测试报告

├── common # 存放通用工具类

├── config.py # 定义项目的配置信息

└── pytest.ini # pytest配置文件

4、requests

Requests库:python中的“浏览器”,基于urllib的HTTP库

4.1、使用

① 导包(import requests)

② 发送接口请求

③ 查看响应数据

4.2、Requests发送请求

requests.请求方法(url, params=None, data=None, json=None, headers=None)

说明:

• 常见的请求方法: get/post/put/delete

• url: 请求的url地址

• params: 请求查询参数

• data: 请求体为form表单参数

• json: 请求体为json参数

• headers: 请求头参数

4.3、Response查看响应

response. status_code 状态码

response. json JSON形式的响应内容

response. text 文本形式的响应内容

response. url 请求url

response.encoding 查看响应头部字符编码

response. headers 头信息

response. cookies cookie信息

4.4、Requests处理multipart/form-data

requests.请求方法(url, data=None, json=None, headers=None, files=None)

①读取文件数据

f = open(" test.pdf ", " rb ")

②设置请求数据

response = requests.post(url=xxx, files= {" file " : f})

4.5、断言方式

相等断言(assert test_data=='xxx')

包含断言(assert'xxx'in test_data)

4.6、数据驱动

数据驱动:以测试数据驱动脚本执行,维护焦点从脚本转向测试数据的一种自动化测试设计模式。

实现方法:pytest中parametrize装饰器-遍历所有测试数据并运行测试方法

语法:

@pytest.mark.parametrize(②保存数据参数名, ①测试数据)

def test_method(self, ③参数名)

pass

① 测试数据 : 格式列表嵌套元组

② 保存数据参数名: 参数个数必须与数据个数相等

③ 参数名: 直接复制②即可

示例:

test_data = [("manager", "123456"), ("", "123456"), ("itheima", "123456")]

@pytest.mark.parametrize("mobile, passwd", test_data )

def test_login(self, mobile, passwd)

pass

5、项目配置文件

配置文件config.py

#导包

import os

#定义环境域名

BASE_URL = "``http://``xxx"

#统一文件路径

BASE_PATH = os.path.dirname(__file__)

print(BASE_PATH)

6、allure报告

能生成美观易读的报告

支持多种开发语言,如java、python等

① 生成测试结果文件(json文件)

② 使用allure命令生成在线报告

帮助文档:https://docs.qameta.io/allure

6.1、安装

安装:pip install allure-pytest

下载&配置:

  1. https://github.com/allure-framework/allure2/releases 下载 allure

  2. 解压缩安装包到一个 不包含中文路径的目录

  3. 将压缩包内的 bin 目录配置到 path 系统环境变量

  4. 右键我的电脑 - 属性 - 高级设置 - 环境变量 - 找到系统环境变量的path项 - 增加 allure 到 bin 目录

  5. 在命令行中输入 allure --version 命令,能显示allure版本信息,即为成功

6.2、生成测试结果文件&在线报告(report)

1、将pytest配置文件中的命令行参数加上如下代码(--alluredir report)

addopts=-s --alluredir ./report

2、编写好测试脚本后,在命令行行中运行pytest

[pytest]

addopts = -s --alluredir report

testpaths = ./scripts

python_files = test* * .py

python_classes = Test* *

python_functions = test* *

3、程序运行结束后,report目录中会生成一些json文件

4、运行allure命令生成测试报告allure serve report

标签:python,pytest,allure,test,requests,data
From: https://www.cnblogs.com/kisssheep/p/18655311

相关文章