随笔分类 -  pytest

摘要:前言 当多个测试用例文件,需要调用同一个fixture时候。比如登陆的fixture,连接数据库的fixture,如果在每个测试用例文件里都加上fixture,代码就会看着十分别扭,且测试用例与fixture混杂在一起,不方便维护。那么pytest也提供了conftest.py这个文件来帮助我们完成 阅读全文
posted @ 2023-04-03 15:27 测试-13 阅读(219) 评论(0) 推荐(0) 编辑
摘要:前言 在多进程的情况下,每个子进程都会是一个session,里面都会执行一次session级别的fixture,那么如果有些数据是随机生成的,比如生成token、密钥等数据,那么在多进程执行,不同进程里面,得到的token或者密钥值那就不一致了。就可能导致用例执行的失败,那么直接举个例子吧 示例 比 阅读全文
posted @ 2023-03-30 14:08 测试-13 阅读(1045) 评论(0) 推荐(1) 编辑
摘要:xdist原理和流程 xdist 的分布式类似于一主多从的结构,master 机负责下发命令,控制 slave 机;slave 机根据 master 机的命令执行特定测试任务。在 xdist 中,主是 master,从是 workers。分布式测试的原理:(1)xdist 会产生一个或多个 work 阅读全文
posted @ 2023-03-28 15:50 测试-13 阅读(1193) 评论(0) 推荐(0) 编辑
摘要:前言 当测试用例数量上去以后,执行一遍所有测试用例,那么执行速度就会比较慢,除了多线程来提高效率外,pytest也提供pytest-xdist插件来做分布式执行,从而减少测试时间,它属于进程级别的并发 pytest-xidst安装 可以直接通过pip进行安装 pip install pytest-x 阅读全文
posted @ 2023-03-27 18:02 测试-13 阅读(236) 评论(0) 推荐(0) 编辑
摘要:问题现象: 使用pytest运行用例时,用例执行完毕总会提示以下警告 警告意思:弃用警告:从collections中导入ABCs已被弃用,并在python3.9中将停止工作,可使用collections.abc代替它进行使用 但我代码中并未使用这个库,也没有导入这个库。就很纳闷 解决: 百度了一下解 阅读全文
posted @ 2023-03-27 15:17 测试-13 阅读(339) 评论(0) 推荐(0) 编辑
摘要:前言 在平常测试当中,可能会有一些临时数据,比如输出信息、token、临时密码等数据需要临时保存和读取。那么pytest也提供了一个fixture来支持这种情况。 能够创建临时目录文件的有以下4个fixture:tmp_path、tmp_path_factory、tmpdir、tmpdir_fact 阅读全文
posted @ 2023-03-10 14:33 测试-13 阅读(358) 评论(0) 推荐(0) 编辑
摘要:前言 当有一些测试用例因为知道肯定是fail掉的,或者还未写完。这时候要执行除它之外的所有测试用例,那么我们就可以选择跳过该用例,pytest同样提供了修饰器(pytest.mark.skip)帮助跳过选定的测试用例 skip修饰器 修饰器:@pytest.mark.skip 无条件跳过用例,在需要 阅读全文
posted @ 2023-03-06 14:57 测试-13 阅读(294) 评论(0) 推荐(0) 编辑
摘要:前言 像unittest框架中可以通过ddt进行参数化操作,那么pytest也可以进行参数化操作,通过parametrize修饰器就可以将数据参数化传入测试用例 parametrize参数化 1、parametrize修饰器使用 修饰器:@pytest.mark.parametrize('usr,p 阅读全文
posted @ 2023-03-03 15:54 测试-13 阅读(182) 评论(0) 推荐(0) 编辑
摘要:前言 在pytest中想要做teardown的处理,除了使用带有yield的fixture函数外,还可以添加终结器(addfinlizer),request.addfinlizer将函数变为终结函数 终结函数实现:定义fixture函数,前部分为前置setup的操作,在定义一个函数用来实现后置tea 阅读全文
posted @ 2023-03-01 15:32 测试-13 阅读(274) 评论(0) 推荐(0) 编辑
摘要:Pytest的fixture 3种调用方式 直接进入正题,fixture有以下3种调用方式: 1、传参:将fixture名称作为测试用例函数的输入参数2、装饰器:在测试用例类或者函数加上装饰器@pytest.mark.usefixtures(fixture_name)3、autouse:fixtur 阅读全文
posted @ 2023-02-28 11:24 测试-13 阅读(784) 评论(0) 推荐(0) 编辑
摘要:前言 经过之前的例子,你会发现fixture只作用在选定的测试用例,那如果只对整个测试类或者测试模块执行一次前、后置,fixture里面也提供了scope参数(默认为function)来设置作用范围 scope可选参数:function、class、module、session 那么接下来一一介绍各 阅读全文
posted @ 2023-02-24 16:12 测试-13 阅读(121) 评论(0) 推荐(0) 编辑
摘要:1、pytest的fixture介绍 假设有一个场景,有些用例需要登陆方法,另一些则不需要用到登陆方法,那么setup和teardown就没法满足此需求,所以pytest提供了fixture来补充这方面的需求,可以让指定的测试用例执行前后置操作。fixture是在测试用例运行前后执行的,对命名规范没 阅读全文
posted @ 2023-02-10 14:05 测试-13 阅读(77) 评论(0) 推荐(0) 编辑
摘要:前言 在unittest中就有前置setup和后置teardown来处理测试用例执行前的准备工作(浏览器驱动实例化,数据库连接等)以及执行后的处理工作(清理数据,关闭浏览器驱动,关闭数据库连接等),那么pytest同样也提供了前置后置的方法来满足这个需求 pytest前置后置方法 pytest提供了 阅读全文
posted @ 2023-01-09 14:00 测试-13 阅读(1561) 评论(1) 推荐(1) 编辑
摘要:前言 在自动化测试中,判断一个测试用例是否执行通过,通常使用assert去判断实际输出结果与预期结果是否一致。与unittest提供自己的断言方法(unittest_断言 )不同,在pytest中直接对python的assert关键字进行重写,能够输出更多的错误信息,来帮助定位出问题的测试用例以及代 阅读全文
posted @ 2022-11-29 16:10 测试-13 阅读(668) 评论(0) 推荐(1) 编辑
摘要:前言 pytest提供一些执行参数,来帮助用户更好地定位问题(详细信息打印或报错的详细信息)和更高效地执行测试用例(多线程执行测试用例,跳过测试用例等),例如,上一章中测试用例函数中有print,但执行pytest后,输出log中却没有打印出来。 可以在cmd中输入 pytest -h 来查看有哪些 阅读全文
posted @ 2022-11-24 14:33 测试-13 阅读(783) 评论(0) 推荐(1) 编辑
摘要:1、pytest简单介绍 pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: 简单灵活,容易上手支持参数化能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试(pytest+requests)pytest具有很多 阅读全文
posted @ 2022-11-22 09:59 测试-13 阅读(166) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示