python结合excel进行自动化测试_Python接口自动化测试框架: pytest+allure+jsonpath+requests+excel实现的接口自动化测试框架(学习成果)...

废话

最近在自己学习接口自动化测试,这里也算是完成一个小的成果,欢迎大家交流指出不合适的地方,源码在文末

问题

整体代码结构优化未实现,导致最终测试时间变长,其他工具单接口测试只需要39ms,该框架中使用了101ms,考虑和频繁读写用例数据导致

环境与依赖

名称

版本

作用

python

3.7.8

pytest

6.0.1

底层单元测试框架,用来实现参数化,自动执行用例

allure-pytest

2.8.17

allure与pytest的插件可以生成allure的测试报告

jsonpath

0.82

用来进行响应断言操作

loguru

0.54

记录日志

PyYAML

5.3.1

读取yml/yaml格式的配置文件

Allure

2.13.5

要生成allure测试报告必须要在本机安装allure并配置环境变量

xlrd

1.2.0

用来读取excel中用例数据

xlutils

2.0.0

用来向excel中写入实际的响应结果

yagmail

0.11.224

测试完成后发送邮件

requests

2.24.0

发送请求

目录结构

执行顺序

运行test_api.py -> 读取config.yaml(tools.read_config.py) -> 读取excel用例文件(tools.read_data.py) -> test_api.py实现参数化 -> 处理是否依赖数据 ->base_requests.py发送请求 -> test_api.py断言 -> read_data.py回写实际响应到用例文件中(方便根据依赖提取对应的数据)

config.ymal展示

server:

# 服务器host地址,发送请求的url= host+ path

test: http://127.0.0.1:8888/api/private/v1/

dev: http://47.115.124.102:8888/api/private/v1/

response_reg:

# 提取token的表达式

token: $.data.token

# 提取实际响应中的某部分来作为断言数据(实例中断言的是meta这个子字典,预期结果也是写的meta子字典中的内容)

response: $.meta

file_path:

# 测试用例数据地址

case_data: ../data/case_data.xlsx

# 运行测试存储的结果路径

report_data: ../report/data/

# 本地测试报告生成位置

report_generate: ../report/html/

# 压缩本地测试报告后的路径

report_zip: ../report/html/apiAutoTestReport.zip

# 日志文件地址

log_path: ../log/运行日志{time}.log

email:

user: 发件人邮箱

password: 邮箱授权码(不是密码)

host: smtp.163.com

contents: 解压apiAutoReport.zip(接口测试报告)后,请使用已安装Live Server 插件的VsCode,打开解压目录下的index.html查看报告

# 发件人列表

addressees: ["123@qq.com","12067@qq.com","717@qq.com"]

title: 接口自动化测试报告(见附件)

# 测试报告附件

enclosures: ["../report/html/apiAutoTestReport.zip",]

EXcel用例展示

脚本一览

#!/usr/bin/env/python3

# -*- coding:utf-8 -*-

"""</

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值