pytest测试框架介绍(3)

12.fixture带参数传递

场景:测试离不开数据,为了数据灵活,一般数据都是通过参数传的

解决:fixture通过固定参数request传递;

步骤:在fixture中增加@pytest.fixture(params=[1,2,3,‘linda‘])在方法参数写request

如下图,运行结果:

参数传入的可以是列表是元祖

如下图,eval将字符串str当成有效的表达式来求值,并返回结果:

当我们测试登录或者搜索这种同样的场景需要不同的数据时,就可以使用这种参数组合的方法:

运行结果如下:

方法名作为参数,indrect=True,可以把传过来的参数当函数执行

 

运行结果如下图:

13.mark中的skip与xfail

skip使用场景

  调试时不想运行这个用例

  标记无法在某些平台上运行的测试功能

  在某些版本中执行,其他版本中跳过

  当前的外部资源不可用时跳过(如果测试数据是从数据库中取到的,连接数据库的功能如果返回结果未成功就跳过,因为执行也都报错)

解决:

@pytest.mark.xfail跳过这个测试用例,可以加条件skipif,在满足条件下才希望通过,否则跳过这个测试。

xfail场景:

  功能测试尚未实施或者未修复的错误,当测试通过时尽管预计会失败(标记为@pytest.mark.skip..xfail),它是一个xpass将在测试摘要中报告

  你希望测试由于某种情况而就应该失败

解决:

@pytest.mark.xfail

原文地址:https://www.cnblogs.com/zhaikunkun/p/12589514.html

时间: 2024-10-01 00:32:07

pytest测试框架介绍(3)的相关文章

python pytest测试框架介绍三

之前介绍了pytest以xUnit形式来写用例,下面来介绍pytest特有的方式来写用例 1.pytest fixture实例1 代码如下 from __future__ import print_function import pytest @pytest.fixture(scope='module') def resource_a_setup(request): print('\nresources_a_setup()') def resource_a_teardown(): print('

python pytest测试框架介绍四----pytest-html插件html带错误截图及失败重测机制

一.html报告错误截图 这次介绍pytest第三方插件pytest-html 这里不介绍怎么使用,因为怎么使用网上已经很多了,这里给个地址给大家参考,pytest-html生成html报告 今天在这里介绍pytest生成的报告怎么带有截图,这在web自动化测试非常有用. 需求是测试用例错误就截图,方法如下: 我们要新建一个关于截图的插件文件conftest.py,注意,文件名不能变,因为pytest-html会自动找这个自己写的插件,内容如下: from selenium import web

python pytest测试框架介绍五---日志实时输出

同样的,在使用pytest进行自动化测试时,需要将实时日志打印出来,而不是跑完后才在报告中出结果. 不过,好在pytest在3.3版本开始,就支持这一功能了,而不用再像nose一样,再去装第三方插件. 网上也有相关实时的日志输入说明,但我尝试后,不是我想要的,比如:pytest输出Log 看看我们下面这样一段代码,以unittest模式写的: #coding:utf-8 ''' Created on 2017年8月31日 @author: huzq ''' from __future__ imp

CDS测试框架介绍:如何为ABAP CDS Entities写测试

动机 现在大家都知道单元测试对我们代码的好处.并且我们都承认它是开发过程中不可或缺的一部分.但是在把代码切换到数据库的模式下的时候,我们被粗暴地打回了软件测试的黑暗年代...我们现在面临着逻辑下推到ABAP CDS entities后,代码要如何测试的难题. CDS Test Double Framework允许开发者们通过众所周知的ABAP Unit Test Framework自动化地测试CDS entities. 本文链接:http://www.cnblogs.com/hhelibeb/p

Pytest框架介绍

Pytest框架介绍.安装 pytest是python测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,功能更强大 pytest特征 1:断言提示信息更清楚 2:自动化加载函数与模块 3:支持运行由nose, unittest编写的测试case 4:支持py2.3,2.7,3.x 5:丰富的插件以及社区支持 6:支持参数化 7:支持失败重跑 8:支持多线程跑用例 9:支持分布式 pytest安装 pip安装,在cmd下面执行命令 pip ins

python nose测试框架全面介绍六--框架函数别名

之前python nose测试框架全面介绍二中介绍了nose框架的基本构成,但在实际应该中我们也会到setup_function等一系列的名字,查看管网后,我们罗列下nose框架中函数的别名 1.package中写在__init__.py中的函数 setup_package 用setup, setUp, or setUpPackage也可以 teardown_package 用teardown, tearDown, or tearDownPackage也可以 2.函数形式组成的用例 setup_

python nose测试框架全面介绍七--日志相关

引: 之前使用nose框架时,一直使用--logging-config的log文件来生成日志,具体的log配置可见之前python nose测试框架全面介绍四. 但使用一段时间后,发出一个问题,生成的报告只有错误提示,没有日志,查看nose的官网,nose默认支持将日志显示的,如下: 脚本如下: #coding:utf-8 ''' Created on 2016年6月22日 @author: huzq ''' import logging from test_case import new fr

python nose测试框架全面介绍十---用例的跳过

又来写nose了,这次主要介绍nose中的用例跳过应用,之前也有介绍,见python nose测试框架全面介绍四,但介绍的不详细.下面详细解析下 nose自带的SkipTest 先看看nose自带的SkipTest典型应用  应用一: ''' @auth:hu ''' from nose.plugins.skip import SkipTest @attr(mode=1) def test_learn_1(): raise SkipTest 但这种SkipTest在实际的日志中没有显示Skip关

Python测试框架之unittest和pytest

目前搜狗商城接口测试框架用的是unittest+HTMLTestRunner,case数有1097条,目前运行一次自动化测试,时长约为30分钟,期望控制在10分钟或者更短的时间内.近期打算重新优化框架,着重解决运行效率低的问题.最近调研了一下另一种主流测试框架Pytest,Pytest是一个非常成熟的全功能的Python测试框架,本文主要对比了Unittest和Pytest这两种较为流行的Python测试框架. 一.Unittest Unittest是Python标准库中自带的单元测试框架,Un