首页 > 其他分享 >pytest 学习 - 00 环境安装配置

pytest 学习 - 00 环境安装配置

时间:2024-04-30 09:57:27浏览次数:28  
标签:00 test py 用例 pytest install pip 安装

前言

pytest是一个非常好用且成熟的全功能Python测试框架,个人觉得比传统的Unitest好多用了,现在面试如果写只会Unitest会被鄙视的。

  主要有以下特点:

    1.简单灵活,容易上手,参数化灵活。
    2.测试用例支持很多机制像skip、xfail、自动失败重试等处理。
    3.能够支持ui自动化测试(pytest+selenium)、接口自动化(pytest+requests)。
    4.轻松扩展第三方插件,像报告插件pytest-allure(完美html测试报告生成),多CPU并发pytest-xdist等。
    5.持续集成方面与jenkins很好的搭配。
    6.文档:http://docs.pytest.org/en/latest/contents.html#toc
    7.第三方库:https://pypi.org/search/?q=pytest
    8.Github地址:https://github.com/pytest-dev/pytest/

pytest安装与依赖

python 3.7

# 安装pytest:
pip install pytest
# 查看pytest版本
pytest --version

# 查看pytest帮助文档

pytest -h

# 安装第三方插件
pip install pytest-sugar
pip install pytest-rerunfailures
pip install pytest-xdist
pip install pytest-assume
pip install pytest-html

pytest测试用例运行规则

1.查找用例的规则:
  1.1. 文件:test_.py开头和_test.py结尾
  1.2. 类:Test开头的类中test开头的方法(测试类不能带有__init__方法)
  1.3. 模块:模块中test开头的函数(可以不在class中)
  1.4. 注意点:
    1.4.1. pytest是以方法为单位发现用例的,你写不写测试类都ok的。
    1.4.2. 要执行哪个目录的用例,就在哪里目录按照以上规则查找。

2.自定义查找规则:pytest.ini,这里可以自定义查找规则。

3.用例执行顺序

  3.1. Unittest用例执行顺序(pytest可以执行unittest框架写的用例和方法)
  3.2. 根据ASCII码来排序
  3.3. Pytest用例执行顺序
  3.4. 文件名称按ASCII码排序
  3.5. 文件内根据定义的方法的先后顺序,从上到下执行

参数说明

  1. 打印详细运行日志信息:pytest -v (最高级别信息-verbose)
  2. s是带控制台输出结果,也是输出详细,可以打印测试用例中print的输出:pytest -v -s 文件名
  3. 执行单独一个pytest模块:pytest 文件名.py
  4. 运行某个模块里面某个类:pytest 文件名.py::类名
  5. 运行某个模块里面某个类里面的方法:pytest 文件名.py::类名::方法名
  6. 跳过某个用例:pytest -k "类名 and not 方法名",如pytest -k "TestDemo and not test_one"
  7. 运行带有某标记的测试用例(pytest.mark.标记名):pytest -m 标记名
  8. 一旦运行到报错就停止运行:pytest -x 文件名
  9. 当错误达到num的时候就停止运行:pytest --maxfail=[num]

pycharm配置与执行pytest

路径:File>Settings>Tools>Python Intergrated Tools

 

 

 

标签:00,test,py,用例,pytest,install,pip,安装
From: https://www.cnblogs.com/quxue/p/18164551

相关文章

  • Profinet转Modbus网关接称重设备与1200PLC通讯
     Profinet转Modbus网关(XD-MDPN100)是一种能够实现Modbus协议和Profinet协议之间转换的设备。Profinet转Modbus网关可提供单个或多个RS485接口,使用Profinet转Modbus网关将称重设备与西门子1200PLC进行通讯,可以避免繁琐的编程和配置过程,节省了工程师的时间和精力。其次,它提供了灵......
  • CentOS安装MySQL的两种方式——RPM和YUM
    0、首先确认是否安装过MySQLyumlistinstalled|grepmysqlrpm-qa|grepmysql若果有安装,需要先删除旧版本。yumremovemysql一、通过官网下载tar压缩包(或者直接下载RPM安装包)1.打开MySQL官网下载地址,选择适合自己的版本,下载tar压缩包。2.通过WinSCP等工具上传到CentO......
  • 【教程】Homebrew安装MySQL 8 & 设置root密码
    ✨Homebrew安装MySQL8brewinstallmysql==>CaveatsWe'veinstalledyourMySQLdatabasewithoutarootpassword.Tosecureitrun:mysql_secure_installationMySQLisconfiguredtoonlyallowconnectionsfromlocalhostbydefaultToconnectr......
  • 【idea】idea的安装
    一、下载安装文件1、进入官网,下载社区版安装包其他版本-IntelliJIDEA(jetbrains.com) 二、安装2、打开安装文件,根据安装指引进行安装修改安装目录,并进行下一步 等待安装 安装完成后,勾选运行并点击【完成】三、运行1、首次运行时,勾选用户协议并继续 2、......
  • mongos分片副本集安装
    主机角色端口10.252.132.108sharedconfigmongos270172701827019271002000010.252.132.109sharedconfigmongos270172701827019271002000010.252.132.120sharedconfigmongos2701727018270192710020000八,mongo集群副本集安装1、linu......
  • Day1-Java介绍及JDK的安装配置
    Day1-JavaSE基本Dose命令切换盘符:E:=cd/dE:(跨盘切换要+/d)查看目录下所有文件:dir切换目录:cd+路径返回上一级:cd..清屏:cls退出终端:exit查看电脑IP:ipconfig打开计算器:calc打开画图:mspaint打开记事本:notepad测试网络:ping+url创建文件夹:md+文件夹名创建文件:cd......
  • 麒麟系统下安装向日葵远程控制
    1、进入贝锐向日葵网站:https://sunlogin.oray.com/2、点击个人版下载,进入下载页面,选择麒麟,根据cpu类型下载Arm64位3、根据安装命令安装即可,如把下载的安装文件放在了个人目录下file:///home/wqz/SunloginClient_11.0.1.44968_kylin_arm.deb,进入目录file:///home/wqz,右键......
  • springboot连接sqlserver2008r2 驱动版本问题。
    <dependency><groupId>com.microsoft.sqlserver</groupId><artifactId>mssql-jdbc</artifactId><version>8.2.2.jre8</version></dependency>版本比较常见的:8.4.1.jre8最新的提示:9......
  • <BEA-000438> <Unable to load performance pack. Using Java I/O instead. Please en
    环境:weblogic10.3.6jdk1.6 myeclipse10.7今天升级了一下myeclipse到10.7,然后配置weblogic,启动的时候报<BEA-000438><Unabletoloadperformancepack.UsingJavaI/Oinstead.Pleaseensurethatwlntio.dll之前用myeclipse8.5没报过这个问题。后来上网看了一下,是找不到......
  • Linux手动安装JD详细教程
    1、下载JDK下载网址:https://www.oracle.com/technetwork/java/javase/downloads/index.html下拉,找到jdk8 2、手动安装2.1先新建一个文件夹,目录是/usr/local/java 进入安装目录。输入命令:cd/usr/local/java 2.2安装JDK1.新建一个存放安装包的文件夹命令:mkdir......