Python Pytest 自动化测试框架搭建

雨天 · 2021年09月09日 · 最后由 能吃就多吃点 回复于 2021年09月10日 · 4780 次阅读

文件目录如下所示

然后分别介绍每个文件夹下的文件内容

1、common


assertion.py 封装的断言
casefiletemplate.py 用于根据 params 文件夹下的测试数据文件自动生成.py 的测试用例
consts.py 定义发送报告用的全局变量
email.py 封装的发送 email 报告功能
get_casedate.py 读取 params 文件夹下的测试数据文件,返回接口可以直接用的字典数据
httprequest.py 封装的 requests 的 get 和 post 请求,其他请求方法有需要可以后期添加
lop.py 封装的记录日志功能
readconfig.py 封装的读取 config 文件夹下配置文件的功能
shell.py 封装的执行 shell 命令的功能

2、config


baseconfig.ini 用于存放基本配置,比如数据库连接信息、发送邮件的信息等

interfaceconfig.ini 用于保存被测接口的配置信息

3、log


logs.log 记录的日志文件

4、params 存放 excel 或者 yaml 格式的测试数据,文件名称需要和 interfaceconfig.ini 配置文件中的 section 名称保持一致

5、report 存放 allure 生成的测试报告

6、testcase&testcase_backup


testcase 下面存放需要执行的测试用例
testcase_backup 下面存放不需要执行的测试用例
此处需要注意测试用例的名称是 params 文件夹下测试数据文件名前面加 test_,后面加.py 组成的,文件间的名称对应关系如下

这样命名的目的是为增加新用例的时候尽可能少的减少重复操作,同时根据文件名称可以更便捷的获取所需要的参数

7、run.py 执行测试的主入口

使用说明:
当有新的接口需要测试的时候需要
1、按照固定格式,先创建测试数据文件,可以是 excel 或者 yaml,具体格式可以参考 parmas 下的测试数据文件,例如创建的文件为 mywork.xlsx
2、配置 interfaceconfig.ini,配置文件的 section 用 mywork
3、执行 common 下的 casefiletemplate.py 会自动在 testcase 文件夹下生成 test_mywork.py 的文件
4、然后编辑 test_mywork.py,添加需要的断言
5、运行 run.py

其他说明:

附源码地址:https://github.com/afiua/AutoInterface

共收到 2 条回复 时间 点赞

Pytest 是一种基于 python 的测试框架,用于编写和运行测试代码。pytest 主要用来测试 API,但也可以进行一些复杂的测试,像测试数据库或 UI 等。

我也想学 目前只会写数驱动的 pytest 框架

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册