Python pytest.main()运行测试用例

目录
  • 前言
  • pytest.main()
  • 参数运行
  • 指定测试用例
  • 指定plugins参数

前言

前面一直使用命令行运行pytest用例,本篇来学下使用pytest.main()来运行测试用例

pytest.main()

  • args 传一个list对象,list 里面是多个命令行的参数
  • plugins 传一个list对象,list 里面是初始化的时候需注册的插件

不带参数运行

import pytest
# 等同于命令行执行 pytest
# 默认运行的是当前目录及子目录的所有文件夹的测试用例
pytest.main()

参数运行

  • -s: 显示程序中的 print/logging 输出
  • -v: 丰富信息模式, 输出更详细的用例执行信息
  • -k: 运行包含某个字符串的测试用例。如:pytest -k add XX.py 表示运行 XX.py 中包含 add 的测试用例。
  • -q: 简单输出模式, 不输出环境信息
  • -x: 出现一条测试用例失败就退出测试。在调试阶段非常有用,当测试用例失败时,应该先调试通过,而不是继续执行测试用例。

在命令行运行带上 -s 参数

pytest -s -x

pytest.main() 里面等价于

import pytest
# 带上-s参数
pytest.main(["-s","-x"])

指定测试用例

指定运行 study 文件夹下的全部用例

pytest study

pytest.main() 里面等价于

import pytest
# 运行指定文件夹目录
pytest.main(["study "])

运行指定的 study/test_77.py 下的全部用例

pytest study/test_77.py

pytest.main() 里面等价于

import pytest
# 运行指定py文件
pytest.main(["study/tset_77.py"])

运行指定的 study/test_77.py 下的某个用例

pytest study/test_77.py::tset_01

pytest.main() 里面等价于

import pytest
# 运行指定py文件下测试用例
pytest.main(["study/tset_77.py::test_01"])

指定plugins参数

# -*- coding: utf-8 -*-
import pytest
def test_01():
    """测试用例1"""
    name = '小白'
    age = 28
    city = 'Beijing'
    assert name == '小白'
    assert age == 28
    assert city == 'Beijing'
# 自定义插件
class MyPlugin(object):
    def pytest_sessionstart(self):
        print("*** test run start blog地址 https://blog.csdn.net/IT_heima")
if __name__ == '__main__':
	# 通过 plugins 参数指定加载
    pytest.main(['-s', '-v', 'test_77.py'], plugins=[MyPlugin()])

到此这篇关于Python pytest.main()运行测试用例的文章就介绍到这了,更多相关Python pytest.main()内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Pytest+Yaml+Excel 接口自动化测试框架的实现示例

    目录 一.框架架构 二.项目目录结构 三.框架功能说明 四.核心逻辑说明 配置文件 输出目录 请求工具类 代码编写case 程序主入口 执行记录 一.框架架构 二.项目目录结构 三.框架功能说明 解决痛点: 通过session会话方式,解决了登录之后cookie关联处理 框架天然支持接口动态传参.关联灵活处理 支持Excel.Yaml文件格式编写接口用例,通过简单配置框架自动读取并执行 执行环境一键切换,解决多环境相互影响问题 支持http/https协议各种请求.传参类型接口 响应数据格式支持

  • pytest用yaml文件编写测试用例流程详解

    目录 前言 项目结构 conftest.py yaml文件 执行并查看结果 前言 本篇来学习在pytest中使用yaml编写测试用例 项目结构 conftest.py 只需在 conftest.py 即可实现使用yaml编写测试用例 # -*- coding: utf-8 -*- import jsonpath import pytest import requests def pytest_collect_file(parent, file_path): if file_path.suffix

  • pytest自动化测试数据驱动yaml/excel/csv/json

    目录 数据驱动 1.pytest结合数据驱动-yaml 工程目录结构: 2.pytest结合数据驱动-excel 工程目录结构: 3.pyetst结合数据驱动-csv 读取csv数据: 工程目录结构: 4.pytest结合数据驱动-json json结构: 查看json文件: 读取json文件: 工程目录结构: 数据驱动 数据的改变从而驱动自动化测试用例的执行,最终引起测试结果的改变.简单说就是参数化的应用. 测试驱动在自动化测试中的应用场景: 测试步骤的数据驱动: 测试数据的数据驱动: 配置的

  • pytest实现测试用例参数化

    背景 本文总结pytest的测试用例参数化. 说明 软件测试中,输入相应值,检查期望值,是常见测试方法. 在自动化测试中,一个测试用例对应一个测试点,通常一组测试数据无法完全覆盖测试范围,所以,需要参数化来传递多组数据. pytest的测试用例参数化使用如下装饰器即可完成. @pytest.mark.parametrize(argnames, argvalues) # 参数: # argnames:以逗号分隔的字符串 # argvaluse: 参数值列表,若有多个参数,一组参数以元组形式存在,包

  • 详解Pytest测试用例的执行方法

    pytest概述 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1.简单灵活,容易上手,文档丰富: 2.支持参数化,可以细粒度地控制要测试的测试用例: 3.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试.接口自动化测试(pytest+requests); 4.pytest具有很多第三方插件,并且可以自定义扩展,比较好用的如pytest-selenium(集成selenium).pytest-html(完美html

  • python+pytest接口自动化之token关联登录的实现

    目录 一. 什么是token 二. token场景处理 这里介绍如下两种处理思路. 1. 思路一 2. 思路二 三. 总结 在PC端登录公司的后台管理系统或在手机上登录某个APP时,经常会发现登录成功后,返回参数中会包含token,它的值为一段较长的字符串,而后续去请求的请求头中都需要带上这个token作为参数,否则就提示需要先登录. 这其实就是状态或会话保持的第三种方式token. 一. 什么是token token 由服务端产生,是客户端用于请求的身份令牌.第一次登录成功时,服务端会生成一个

  • python自动化测试之从命令行运行测试用例with verbosity

    本文实例讲述了python自动化测试之从命令行运行测试用例with verbosity,分享给大家供大家参考.具体如下: 实例文件recipe3.py如下: class RomanNumeralConverter(object): def __init__(self, roman_numeral): self.roman_numeral = roman_numeral self.digit_map = {"M":1000, "D":500, "C"

  • Python Pytest装饰器@pytest.mark.parametrize详解

    Pytest中装饰器@pytest.mark.parametrize('参数名',list)可以实现测试用例参数化,类似DDT 如:@pytest.mark.parametrize('请求方式,接口地址,传参,预期结果',[('get','www.baidu.com','{"page":1}','{"code":0,"msg":"成功"})',('post','www.baidu.com','{"page"

  • python pytest进阶之fixture详解

    前言 学pytest就不得不说fixture,fixture是pytest的精髓所在,就像unittest中的setup和teardown一样,如果不学fixture那么使用pytest和使用unittest是没什么区别的(个人理解). fixture用途 1.做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用fixture来实现 2.测试用例的前置条件可以使用fixture实现 3.支持经典的xunit fixture ,像unittest使用的setup和te

  • Python pytest装饰器总结(实例详解)

    几个常用装饰器 pytest.ini 配置文件 例子: [pytest] addopts = -v -s --html=py_test/scripts/report/report.html -p no:warnings --reruns=10 testpaths = ./py_test/scripts python_files= test_rerun.py python_classes = Test* python_function = test* xfail_strict = true add

  • Appium+Python+pytest自动化测试框架的实战

    菜鸟一枚,写的不好勿喷,大家一起学习 先简单介绍一下目录,再贴一些代码,代码里有注释 Basic目录下写的是一些公共的方法,Data目录下写的是测试数据,image存的是测试失败截图,Log日志文件,Page测试的定位元素,report测试报告,Test测试用例,pytest.ini是pytest启动配置文件,requirements.txt需要安装的py模块,run.py运行文件 Basic/base.py 里面封装了 一些方法,元素的点击,输入,查找,还有一些自己需要的公共方法也封装在里面,

  • python+pytest接口自动化参数关联

    目录 前言 一.什么是参数关联? 二.有哪些场景? 三.参数关联场景 四.脚本编写 1.在用例中按顺序调用 2. 使用Fixture函数 五. 总结 前言 今天呢,笔者想和大家来聊聊python+pytest接口自动化测试的参数关联,笔者这边就不多说废话了,咱们直接进入正题. 一.什么是参数关联? 参数关联,也叫接口关联,即接口之间存在参数的联系或依赖.在完成某一功能业务时,有时需要按顺序请求多个接口,此时在某些接口之间可能会存在关联关系.比如:B接口的某个或某些请求参数是通过调用A接口获取的,

  • python+pytest自动化测试函数测试类测试方法的封装

    目录 前言 一.测试用例封装的一般规则 三.测试类/方法的封装 四.示例代码 总结 前言 今天呢,笔者想和大家聊聊python+pytest接口自动化中将代码进行封装,只有将测试代码进行封装,才能被测试框架识别执行. 例如单个接口的请求代码如下: import requests headers = { "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like

  • Python Nose框架编写测试用例方法

    1. 关于Nose nose项目是于2005年发布的,也就是 py.test改名后的一年.它是由 Jason Pellerin 编写的,支持与 py.test 相同的测试习惯做法,但是这个包更容易安装和维护. nose的口号是:扩展unittest,nose让测试更简单! nose官网:http://nose.readthedocs.io/en/latest/index.html 使用nose框架进行Python项目的自动化测试,可以参考:http://www.cnblogs.com/liaof

  • Python 从subprocess运行的子进程中实时获取输出的例子

    有些时候,我们需要将某些程序放到子进程中去运行,以达到整合系统的目的.在Python中,一个非常好的选择就是使用subprocess模块,本模块为开辟子进程去执行子程序提供了统一的接口,更加便于学习和使用. 同时,对于在子进程里的程序,我们希望能够实时获取其输出,以在主进程中打印相关信息,使我们能够了解当前子程序的执行进度.对此,subprocess模块也提供了相应的参数,能够将子程序的标准输出和标准错误输出返回给主程序. 下面,我们就通过一个例子来说明这个功能.首先,我们需要一个用于模拟标准输

随机推荐