感谢大家的莅临,小编在文章末尾为大家准备了一些福利,需要的可以获取哦。
unittest 和 pytest 是 Python 的 2 个强大的测试框架,经常用来做 UI 自动化或接口自动化。unittest 是 PyCharm 的默认集成工具,也是我们大多数人入门自动化的首选框架。pytest 提供了更丰富的功能,相对的上手难度也要高一点。如果学了 pytest 后,想快速用 pytest 写项目,用于工作实践,那么可以试试我写的这款测试工具:tep
,try easy pytest。
tep 简介
在 Google 中输入python tep
:
tep 是一款测试工具,不是测试框架,它做的事情只是帮助你更轻松的使用 pytest 写项目代码,主要功能如下:
- 项目脚手架
- pytest 用例组织
- 输出 HTML 测试报告
- 基于 fixture 管理环境变量
- 基于 fixture 共享公共函数
- 访问 MySQL 数据库
- 集成常用第三方包
- 登录接口示例代码
工具安装
安装
tep 已经上传到了 PyPI(Python Package Index):
可以使用pip
命令安装:
pip install tep
外网速度慢,pandas
可能安装失败,推荐用国内镜像:
pip --default-timeout=6000 install -i https://pypi.tuna.tsinghua.edu.cn/simple tep
由于集成了第三方包,安装可能会花几分钟,请耐心等待。
Python 版本
3.6+
检查
安装完成后,检查是否安装成功:
tep -V
0.5.3
或者:
tep --version
0.5.3
升级
使用-U
参数:
pip install -U tep
或者指定版本:
pip install tep==0.5.3
快速创建项目
tep 提供了脚手架,预置了项目结构和代码,打开 cmd,使用startproject
命令快速创建项目:
cd some_directory
tep startproject project_name
创建后的项目结果如下:
当前版本主要用来做接口自动化,建议把不同业务系统建成多个项目。
1 个文件 2 处修改完成登录请求
tep 已经预置了登录相关代码,只需要打开fixtures\fixture_admin.py
,修改 2 个地方的代码,就可以完成登录请求。
修改环境变量
编辑fixtures/fixture_admin.py
:
@pytest.fixture(scope="session")
def env_vars(config):
class Clazz:
def __init__(self):
env = config["env"]
self.mapping = {
"qa": {
"domain