文章分类 - pytest
摘要:前言: 在实际测试的时候,可能会遇到这样的场景:对于某一类的测试用例需要被执行或不执行,那么如何对这一类的测试用例进行特殊的执行呢? pytest提供了对用例进行标识的功能。 一、如何进行标记 @pytest.mark.xxx,其中xxx是自己定义的名称 import pytest class Te
阅读全文
摘要:前言: 在测试过程中,因功能暂未开发完成,需要跳过用例的,或者因为运行平台不一样,需要根据平台类型来判断是否执行用例的情况, pytest提供了处理此类场景的功能,那就是skip与skipif。 一、skip() 参数:reaseon,string类型。 import pytest paltform
阅读全文
摘要:前言: 当执行用例的时候,用例执行失败,但失败的原因可能是一些外部的原因,如网络的不稳定等等,这个时候我们需要失败后重跑一定次数。 pytest的插件pytest-rerunfailures可以达到我们想要的效果。 一、插件安装 要使用失败重跑功能,需要安装插件pytest-rerunfailure
阅读全文
摘要:前言: Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用信息。 一、环境配置: 1,allure是一个命令行工具,可以去 github 下载最新版:https://
阅读全文
摘要:前言: 我们知道,在日常的测试场景中,会有同个功能,多条不同数据的测试场景,如登录:账号正确&密码正确,账号正确&密码错误等等。我们需要写多条 测试用例吗,当然不用。使用参数化可以在一条测试用例上执行多个不同场景的数据,从而达到代码复用的目的。 一、@pytest.mark.parametrize(
阅读全文
摘要:前言: 在测试过程中,会有一些bug是偶然出现,需要多次测试进行复现。在自动化测试过程中也存在这样的情况,为了能使bug复现,需要对用例进行多次重复运行。 在pytest中,pytest-repeat插件可以提供这样的功能。 一、重复跑 import random class TestC: def
阅读全文
摘要:前言: 虽然fixture是作为前置操作使用,但其也可以进行传参。 很常见的一个场景就是:多条用例需要进行登录操作,而登录操作需要用不通的账号(或账号与密码),那么久可以通过对fixture前置操作进行传参,但这种情况通常 是结合着参数化去做。 一、单个参数 import pytest @pytes
阅读全文
摘要:前言: 前面我们也介绍过了pytest的断言,pytest的断言一般使用python自带的assert进行断言,但是assert不能进行多重断言,当某些特殊场景需要做多重断言(即多个结果的断言) 时该如何处理。 一、assert进行多重断言时的特点: 直接来看示例: def test_assert(
阅读全文
摘要:前言: 一条测试用例的执行,可能需要前置操作,也可能需要对齐进行后置操作,fixture也可以进行后置操作。 一、如何实现teardown操作 通过yield关键字实现。 fixture装饰的函数中,yield有两个作用:1,返回(同return)。2,其后的代码提供teardown效果。 示例:
阅读全文
摘要:方式一: 将fixture前置操作的函数名传入测试用例中。 方式二: 使用pytest.mark.usefixtures()装饰器。 usefixtures()传入字符串形式的前置操作函数名。 示例: import pytest @pytest.fixture() def login(): prin
阅读全文
摘要:前言: 在一些场景下,需要自动去执行fixture前置操作,如一个测试模块中的测试用例必然会进行登录的前置操作,pytest的fixture提供了一个autouse参数, 设置为True即可进行自动执行fixture,而不需要显式的调用前置操作函数。 一、自动调用: conftest.py impo
阅读全文
摘要:前言: 在pytest中,固件fixture可以为测试用例提供前置操作。通常情况下,fixture固件会放置在conftest.py文件中。 一、定义fixture: 函数加上@pytest.fixture()后,即可成为一个前置操作函数。只需在测试用例中传入该fixture前置操作函数名即可。 二
阅读全文
摘要:前言: 一条测试用例,断言是必不可少的,没有断言的测试用例是不完整的,当断言为真时,用例通过,反之则不通过。 一、pytest断言: 在pytest框架中,断言使用python自带的 assert 关键字。 assert xx 断言 xx 是否为真 assert not xx 断言 xx 是否为假
阅读全文
摘要:前言: 在一个测试框架当中,测试用例模块,测试类,或者具体测试用例是有其规定的命名规则的,测试框架进行用例搜索也是有规则的 一、用例命名规则: 1. 测试包:test开头,必须含有__init__.py。 2. 测试模块: test_*.py或 *_test.py。 3. 测试类:Test开头,但不
阅读全文
浙公网安备 33010602011771号