当前位置:首页 > 技术知识 > 正文内容

python自动化-pytest测试框架_pytest自动化框架目录

pip介绍

pip是Python 中的标准库管理器。它允许你安装和管理不属于 Python标准库的其它软件包

Python3的3.4版本以及Python2的2.7.9 版本开始,pip 被直接包括在Python 的安装包内

pypi 托管了大量非常流行的库 (www.pypi.org)

pip命令

  • pip help 帮助
  • pip install 安装
  • pip install -U 包名 升级包
  • pip uninstall 卸载
  • pip list 列出所有的包文件
  • pip download下载包
  • pip search requests 搜索包

python虚拟环境

输入:python -m tutorial-env

进入相关目录:cd tutorial-env

立即生效 source bin/activate,虚拟环境就生效

pyChram基于本地python环境生成对应python虚拟环境

pytest介绍

  • 一个很成熟的全功能的python测试框架
  • 简单灵活,容易上手;
  • 支持参数化;
  • 测试用例的skip和xfail,自动失败重试等处理
  • 支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests);
  • pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-allure(完美html测试报告生成),pytest-xdist(多CPU分发)等;
  • 可以很好的和jenkins集成;

pytest测试用例的识别

  • test开头如: test_*.py
  • test结尾如:*_test.py
  • Test*类包含的所有test_*的方法(测试类不能带有init 方法)
  • 不在class中的所有的test_*方法

安装命令:pip install pytest

创建第一个case

使用-v 插件详细的执行日志 pytest -v

pycharm配置pytest环境

安装完成后使用的为pytest的解释器

参数化:ab为需要参数化的变量值,()内为需要赋予的值

pytest的装饰器,用于参数传递

pytest的数据参数化

  • @pytest.mark.parametrize(argnames,argvalues)
  • argnames:要参数化的变量,string (逗号分割),list, tuple
  • argvalues:参数化的值,list, listituple]

使用string

使用list ,tuple

pytest-yaml 参数化

安装pyyaml包

新建测试yaml文件

打开yaml的文件

相关文章

Android主流UI开源库整理(android完整开源项目)

前言最近老大让我整理一份 Android主流UI开源库 的资料,以补充公司的Android知识库。由于对格式不做特别限制,于是打算用博客的形式记录下来,方便查看、防丢并且可以持续维护、不断更新。标题隐...

分析 Rust 程序的火焰图(rust火吗)

分析 Rust 程序的火焰图(Flame Graph)是定位性能瓶颈的核心手段,其核心是通过可视化的函数调用栈和时间分布,找到 CPU 耗时、内存分配、锁竞争等热点。以下是详细的分析方法和步骤,结合...

go语言并发原语RWMutex实现原理及闭坑指南

1.RWMutex常用方法Lock/UnlockRLock/RUnlockRLocker 为读操作返回一个Locker接 口的对象2. RWMutex使用方法 func main() { var c...

大量类加载器创建导致诡异FullGC(类的加载器有什么用)

“ 由 GC 问题带你全面了解 JDK8 Metaspace”01—现象最近接手了一个同事的项目,某一天接口的响应耗时突然增加了很多,由几十ms 增加到了几十秒。首先查看机器上的日志,有调用第三方接口...

一个快要被忘记的数据库开发岗位,但应该被尊重

数据库测试,似乎是被人遗忘的数据库职业,但依然是不错的选择。底下是我在某站找的招聘启事,就连蚂蚁金服都在积极寻找数据库测试人:要说我经历的项目,大大小小也有几十个,从 C/S, B/S, 再到 B/C...

Oracle高级数据库特性揭秘:存储过程、触发器与权限管理

当谈论Oracle高级数据库特性时,存储过程和函数、触发器、权限管理和安全性以及数据库连接和远程访问是关键概念。下面我将为每个主题提供详细的解释,并附上高质量示例。存储过程和函数: 存储过程和函数是预...