pytest之mark功能

xingyunqiu xingyunqiu     2023-05-06     263

关键词:

pytest系列(一)中给大家介绍了pytest的特性,以及它的编写用例的简单至极。

那么在实际工作当中呢,我们要写的自动化用例会比较多,不会都放在一个py文件里。

如下图所示,我们编写的用例存放在不同的py文件当中。

 

技术图片

 

 

当我们想只运行诸多py文当中的部分用例,怎么办呢?

比如自动化工作当中,选择test_a,test_33,test_000这3个用例来运行的话,如何过滤呢?

 

 

pytest.mark一下

在pytest当中,先给用例打标记,在运行时,通过标记名来过滤测试用例。

技术图片

 

 

 

步骤1:给用例打标签

给用例打标记分为2个步骤:

 

1)注册标签名

官方提供的注册方式有2种,这里只提供一种最简单直接的方式:

通过pytest.ini配置文件注册。在pytest.ini文件当中:

[pytest] # 固定的section名

markers= # 固定的option名称

  标签名1: 标签名的说明内容。

  标签名2

  标签名N

示例如下:

技术图片

 

 

 

2)在测试用例/测试类中给用例打标记(只能使用已注册的标记名)

在 测试用例的前面加上:@pytest.mark.已注册标签名

如下图,对3个测试文件当中的,要筛选出来的用例,都打了me标签 。

技术图片

 

 

 

 

步骤2:运行时,根据用例标签过滤(-m 标签名)

pytest提供了命令行参数来配置运行时的条件。

在命令行当中,输入pytest --help来查看所有可用的参数。

技术图片

 

 

 

也可以调用pytest.main()函数,将运行时的参数以列表传进去,同样也可以达到命令行运行的效果。

根据标签名过滤用例的参数为:-m 标签名

技术图片

 

 

 

运行此文件的结果:

技术图片

 转载自:https://www.cnblogs.com/Simple-Small

pytest之skipskipifxfail(代码片段)

在上一篇Pytest系列文章:Pytest之fixture,主要介绍fixture的介绍、调用方式及作用域。以下主要介绍pytest中skip、skipif、xfail的用法。一、mark基本介绍1、mark概念在pytest当中,给用例打标记,在运行时,通过标记名... 查看详情

pytest之参数化(代码片段)

在上一篇Pytest系列文章:Pytest之自定义mark,主要介绍pytest自定义配置及用例运行实战。以下主要介绍pytest参数化讲解及实战。熟悉unittest单元测试框架的小伙伴知道,使用ddt进行数据驱动测试,那么身为功能更加... 查看详情

pytest进行自定义mark标记,进行分类管理执行用例

pytest自定义标记mark,按标记的指定模块名称执行用例。(同命令行执行用例一样,可以按标记的模块、或者直接指定节点执行)@pytest.mark.xxx自定义名称例:对一个系统的某一模块功能进行标记后,后面单独进行运行此功能测试... 查看详情

python基础之pytest参数化

参考技术Apytest是目前比较成熟功能齐全的测试框架,使用率肯定也不断攀升。在实际工作中,许多测试用例都是类似的重复,一个个写最后代码会显得很冗余。这里,我们来了解一下@pytest.mark.parametrize装饰器,可以很好的解决... 查看详情

pytest之自定义mark(代码片段)

在上一篇Pytest系列文章:Pytest之skip、skipif、xfail,主要介绍pytest中skip、skipif、xfail的用法。以下主要介绍pytest自定义配置及用例运行实战。一个完整的项目,测试用例比较多,比如我们想将某些用例用来做冒烟测... 查看详情

pytest之fixture

...ure定义三、fixture使用3.1Fixture名字作为用例的参数3.2使用@pytest.mark.usefixtures(\'fixture\')装饰器3.3使用autouse参数四、fixtur作用范围五、fixture实现teardown  学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的setup和teard... 查看详情

pytest之fixture

...ure定义三、fixture使用3.1Fixture名字作为用例的参数3.2使用@pytest.mark.usefixtures(\'fixture\')装饰器3.3使用autouse参数四、fixtur作用范围五、fixture实现teardown  学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的se 查看详情

13-pytest-自定义mark标记(代码片段)

...#xff0c;执行某个模块或特定部分用例,这时候可以使用pytest中的mark自定义标记功能,去执行被标记的所有用例代码示例#-*-coding:utf-8-*-#@Time:2021/10/16#@Author:大海#@File:test_26.pyimportosimpo 查看详情

pytest-15-自定义标记mark(代码片段)

pytest可以支持自定义标记,自定义标记可以把一个web项目划分多个模块,然后指定模块名称执行。app自动化的时候,如果想android和ios公用一套代码时,也可以使用标记功能,标明哪些是ios用例,哪些是android的,运行代码时候指... 查看详情

pytest-17-fixture之autouse=true(代码片段)

...或类里面方法直接传fixture的函数参数名称2.使用装饰器@pytest.mark.usefixtures()修饰3.autouse=True自动使用用例传fixture参数方法一:先定义start功能,用例全部传start参数,调用该功能#contentoftest_06.pyimporttimeimportpytest@pytest.fixture(scope="func... 查看详情

pytest学习和使用11-pytest如何使用自定义标记mark?(代码片段)

11-Pytest如何使用自定义标记mark?1mark简介2使用方法3实例4如何忽略警告?1mark简介pytest可自定义标记;把一个大项目自动化用例,划分多个模块,标明哪些是模块A用例,哪些是模块B的,运行代码时候指... 查看详情

pytest.mark.parameterize 不是“寻找”固定装置

】pytest.mark.parameterize不是“寻找”固定装置【英文标题】:pytest.mark.parameterizenot"finding"fixtures【发布时间】:2015-05-1016:19:44【问题描述】:我正在为一个小型库编写测试,在听到很多关于它的好消息后,我决定使用py.test... 查看详情

pytest-使用自定义标记mark(代码片段)

mark标记1.以下用例,标记test_send_http()为webtest#contentoftest_server.pyimportpytest@pytest.mark.webtestdeftest_send_http():pass#performsomewebtesttestforyourappdeftest_something_quick():passdeftest_another(): 查看详情

pytest-mark数据驱动(代码片段)

数据驱动importpytest@pytest.mark.parametrize(("a","b","expected"),[[1,2,3],[10,11,21],[1,1,1],])deftest_1(a,b,expected):asserta+b==expectedif__name__=="__main__":pytest.main(["-v"])======================= 查看详情

pytest-使用介绍

参考技术Apytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:pipinstallpytest编写pytest测试样例非常简单,只需要按照下面的规则:scope参数有四种,分别是'function','module','class','session',... 查看详情

基于fixture的自动pytest.mark装饰

】基于fixture的自动pytest.mark装饰【英文标题】:Automaticpytest.markdecorationbasedonfixture【发布时间】:2016-10-2306:38:26【问题描述】:假设我在我的conftest.py文件中建立了一个pytest固定装置,如下所示:deflive_fixture():#networkaccesshere...pass... 查看详情

pytest13使用自定义标记mark(代码片段)

前言:  pytest可以规定那些要跑,那些不跑,跑特定的哪些?比如以下的这个例子:#!/usr/bin/env/python#-*-coding:utf-8-*-importpytest@pytest.mark.runtestdeftest_run():print("run")deftest_not_run():passdeftest_not_run1():passclassTestClass: 查看详情

pytest自动化测试框架详解+mark标记+fixture夹具

介绍pytest是python的一种单元测试框架,同自带unittest框架类似,功能,效率更强大特点:1.非常容易上手,入门简单,丰富的文档2.支持参数化3.执行测试用例的过程中,跳过某些用例,标记失败的用... 查看详情