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

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

maynowei10个月前 (08-26)技术知识94

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的文件

相关文章

2018年度回顾:挖矿木马为什么会成为病毒木马黑产的中坚力量

一、概述根据腾讯御见威胁情报中心监测数据,2018年挖矿木马样本月产生数量在百万级别,且上半年呈现快速增长趋势,下半年上涨趋势有所减缓。由于挖矿的收益可以通过数字加密货币系统结算,使黑色产业变现链条十...

Android TabLayout + ViewPager2使用

1、xml文件<!--明细列表--> <com.google.android.material.tabs.TabLayout android:id="@+id/ty_...

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

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

Shopee新手指南:Shopee卖家中心用户界面介绍

1.Shopee各站点前台网页链接:2.Shopee各站点后台网页链接3.Shopee APP下载:安卓版下载链接:https://pan.baidu.com/s/1eSp8M1k#list/path...

Linux C++实现多线程同步的四种方式(超级详细)

背景问题:在特定的应用场景下,多线程不进行同步会造成什么问题?通过多线程模拟多窗口售票为例:#include <iostream>#include<pthread.h>#inc...

不需安装oracleclient连接oracle数据库方案

在Oracle官方发布ODP.net之前,我们通常使用微软的System.data.OracleClient进行Oracle数据库操作,它的缺点是必须要装Oracle客户端OracleClient,如...