pytest

Pytest

pytest 1.插件 pytest-html 生成html格式的自动化测试报告 pytest --html=report/report.html test_sdk2_1.py pytest-xdist 测试用例分布式执行,多CPU分发 pytest-ordering 用于改变测试用例的执行顺寻 p ......
Pytest

Pytest - Fixture(10) - 测试用例传参给Fixture

## Pytest - 测试用例传参给Fixture + 大多数时候我们在fixture封装的是登陆、获取cookie等操作,但是一个系统可能不止一个用户,有多个用户; + 在写测试用例的时候,如何告诉fixture我们需要登录哪个用户? + 可以通过测试用例给 `fixture` 传递参数,指定登 ......
Fixture Pytest 10

Pytest - Fixture(9) - Fixture传参给测试用例

## Pytest - Fixture传参给测试用例 + 如果想要依赖fixture传递参数给测试用例,可以通过 `yield` 或者 `return` 来返回参数; + `yield`:实现setup和teardown,并将参数传递给测试用例; + `return` :仅实现setup,并将参数传 ......
Fixture Pytest

Pytest - Fixture(8) - 作用域依赖关系

## Pytest - 作用域依赖关系 + 添加了 `@pytest.fixture` ,如果fixture还想依赖**其他fixture**,需要用函数传参的方式: + 当一个函数请求另一个函数时,首先执行另一个函数。 + 如果函数 `b` 请求函数 `a`,函数 `a` 将首先执行,因为 `b` ......
作用 Fixture Pytest

Pytest - Fixture(7) - 作用域执行顺序

## Pytest - 作用域执行顺序 + 如果有多个、不同作用域的需要执行,要弄清楚它们将执行的顺序; + pytest首先执行范围更高的fixtrue; + 在请求fixture函数中,先执行**较高作用域**范围的fixture(**session,package,module**); + 再 ......
顺序 作用 Fixture Pytest

pytest从入门到精通笔记

一、pytest简介 pytest是一个非常成熟的全功能的Python测试框架,比unittest更灵活,容易上手。主要有以下几个特点: 1.简单灵活,容易上手 2.支持参数化 3.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(py ......
笔记 pytest

pytest + yaml 框架 -31.JMESPath解析json数据

# 前言 前面学了 jsonpath 可以很好的解析 json 数据,提取出我们想要的内容,对于平常的基本工作没太大的问题,但有一点点小遗憾。 jsonpath 的 python 库功能并不是很强大,对于一些高级语法并不支持,不支持过滤器使用正则表达式,一些常用的函数也不支持。 JMESPath 库 ......
框架 JMESPath 数据 pytest json

Pytest - Fixture(6) - 作用域混用/执行顺序/依赖关系

## Pytest - Fixture作用域混用 + 若测试用例调用多个不同级别的作用域,都会同时生效: > conftest.py ```python import pytest """会话级别fixture,作用域当前目录""" @pytest.fixture(scope="session") ......
顺序 作用 Fixture Pytest

pytest

**一、web自动化内容** UI - user interface web网页、客户端(PC,app) 1、pytest 2、selenium selenium介绍、元素定位、元素操作 python+selenium: 框架: PageObject模式 优化和封装 - selenium二次封装、失 ......
pytest

Pytest - Fixture(5) - 作用域(scope)

## Pytest - Fixture作用域(scope) + 之前讲过,fixture里面有个 `scop` 参数,这个参数就是填写fixture作用域的; + `function`:每一个函数或方法都会调用; + `class`:每一个类调用一次,一个类中可以有多个方法; + `module`: ......
作用 Fixture Pytest scope

Pytest - Fixture(4) - 测试用例调用fixture

## Pytest - 测试用例调用fixture + 写了fixture方法之后,如果没有配置自动运行,测试用例不去调用,那么fixture是不会运行的; + 使用fixture的方式就两种:手动调用、自动运行; ### 函数传参方式 + 将fixture装饰的函数名称,作为**测试用例函数输入参 ......
Fixture fixture Pytest

Pytest - Fixture(3) - yield遇到异常

## Pytest - yield遇到异常 + 如果yield前面的代码,即setup部分已经抛出异常了,则不会执行yield后面的teardown内容; + 如果测试用例抛出异常,yield后面的teardown内容还是会正常执行; > test_py.py ```python import py ......
Fixture Pytest yield

Pytest - Fixture(2) - 实现setup和teardown(yield)

## Fixture 实现setup和teardown(yield) + 用 fixture 实现 `teardown` 并不是一个独立的函数,而是用 ` yield` 函数来开启 `teardown ` 操作; + 具体yield是什么,可以去度娘一下~ > test_py.py ```pytho ......
teardown Fixture Pytest setup yield

Pytest - Fixture(1) - 入门&概述

## Pytest - Fixture 入门&概述 + 之前讲过测试用例的前置和后置的方法,可以使用 `setup` 和 `teardown` 函数实现,但是这种方法是用于全部测试用例的;当我有部分测试用例不需要 `setup` 的方法该怎么办? + pytest 提供了`fixture` 方法, ......
Fixture Pytest amp

Pytest - setup 和 teardown

## Pytest - setup 和 teardown + 执行用例肯定有些需要前置条件或后置操作,例如前置的用户登陆,后置的清理数据等操作; + unittest提供了两种前置(setup、setupClass)和两种后置(teardown、teardownClass); + 相比之下,pyte ......
teardown Pytest setup

Pytest - 断言判断(2) - 断言失败继续执行(pytest-assume)

### 断言失败继续执行 **前言** + 一般情况下我们在使用 `assert` 断言失败后,后面的代码就**不会继续运行**; + 如果我们想要在断言失败后想要继续运行代码,就不能使用 assert 进行验证; + 一个可以允许 pytest 测试用例中,执行多个失败的断言的插件: + 多重断言 ......
pytest-assume Pytest pytest assume

Pytest - pytest 命令(1) - 命令执行方法

### 命令执行方法 + 讲解下pytest分别在Windows,Linux,Pycharm中,执行pytest的方法; + 追加的参数可以参考: + [Pytest - pytest 命令(2) - 命令参数及含义](https://www.cnblogs.com/mzline/p/1741946 ......
命令 方法 Pytest pytest

Pytest - 断言判断(1) - 常用断言方法

## Pytest - 断言判断 ### 常用断言方法 + 与unittest相比,pytest的断言使用的是python自带的 `assert` 关键字来进行断言。 - assert 关键字后面可以接一个表达式: - 表达式的最终结果为 `True` ,那么断言**通过**,用例执行成功; - 表 ......
常用 方法 Pytest

pytest + yaml 框架 -29.模板过滤器语法与自定义过滤器使用

# 前言 v1.2.6 版本支持模板过滤器语法的使用,并且可以自定义过滤器了。针对有同学提到上个接口返回一个id值,下个接口引用变量的时候需要根据这个值做一些运算,比如在引用的结果加1. jinja2 是可以支持模板过滤器语法的,本篇介绍下模板过滤器的相关使用. v1.2.6 版本主要更新以下几点 ......
过滤器 语法 框架 模板 pytest

pytest + yaml 框架 -28.在调用函数的时候,传参可以引用变量了

# 前言 有小伙伴提到,接口返回一个id值,extract提取到后,后面根据这个id值拼接一个SQL语句,调用查询sql的函数。 这样调用函数的时候传参会嵌套引用另外一个变量。 此功能在v1.2.5 版本上实现 # 使用示例 在conftest.py 定义任意函数, 传一个变量, 并注册到my_bu ......
变量 函数 框架 时候 pytest

pytest command line

pytest -v -s --last-failed --alluredir=report/xml ......
command pytest line

APP自动化--pytest-把图片添加到测试报告中--(异常截图)

前面在 APP自动化--pytest-把图片添加到测试报告中--(主动截图)中说明了extra.append(extras.image(driver1.get_screenshot_as_base64()))的用法,那么把它放到conftest的异常截图代码中就可以实现异常截图。 import py ......
截图 报告 pytest 图片 APP

Pytest - pytest 命令(3) - 常用命令的使用

## pytest 常用命令 ### 测试信息输出 ```python # 设置pytest的执行参数 "-q":安静模式, 不输出环境信息 pytest.main(["-q"]) # 设置pytest的执行参数 "-s":显示程序中的print/logging输出 pytest.main(["-s ......
命令 常用 Pytest pytest

Pytest - pytest运行常用命令参数

## pytest 运行常用命令参数 | 参数 | 含义 | | | | | -q | 输出的结果缩短显示 | | -s | 显示在python程序中的print输出的内容,如是不加则不会显示 | | --durations | 获取最慢的n个用例的执行耗时 | | --durations-min ......
命令 常用 参数 Pytest pytest

APP自动化--pytest-把图片添加到测试报告中

pytest输出测试报告时,有时候需要把截图插入报告中,操作可以如下 用例如下: from pytest_html import extras 导入包 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2023/5/12 17:44 # ......
报告 pytest 图片 APP

Pytest单元测试报告用例标题中文名称怎么显示(转载)

背景 基础不牢,地动山摇。在开发编程一途,尤为重要。 有python同学喜欢使用pytest框架实现接口自动化测试方案,在使用参数化过程中,无论是控制台还是测试报告中都没有展示用例名称(中文),而是参数化过程的参数顺序,如下图所示: 从报告效果上看,存在不知道fail的用例是哪个用例的问题,即使知道 ......
单元 名称 标题 报告 Pytest

pytest中,fixture的scope可以设置的级别

function:默认值,表示fixture将在测试函数被调用时执行,并且它们每个测试函数都会运行一次。 @pytest.fixture() def my_fixture(): # setup code here yield # teardown code here class:表示fixture将 ......
级别 fixture pytest scope

python + pytest 之 fixture+yield 使用详解

一、前言 用例执行完之后,如需要环境恢复和清除数据操作,可以使用yield来实现。fixture的teardown操作并不是独立的函数, 用yield关键字呼唤teardown操作。fixture通过scope参数控制setup级别,既然有setup作为测试用例之前的操作,那么测试 用例执行完后肯定 ......
fixture python pytest yield

python + pytest 之 fixture装饰器使用详解(版本2)

一、前言 测试用例类中的setup和teardown可实现在测试用例之前和之后加入一些环境预设和环境恢复的操作, 但这种是一个类中所有测试方法均生效的,如果我想实现以下场景: test用例1需要先登录,test用例2不需要登录,test用例3需要先登录。那么这就无法使用setup来实现了。 二、fi ......
fixture 版本 python pytest

Pytest框架实现一些前后置(固件、夹具)的处理,常用三种

一、setup/teardown,setup_class/teardown_class 为什么需要这些功能?比如:web自动化执行用例之前,需要打开浏览器,用例执行之后需要关闭浏览器 文件内容: test_firmware.py import pytest class Test_FirmWare() ......
固件 夹具 框架 常用 Pytest