摘要: 前言 当多个测试用例文件,需要调用同一个fixture时候。比如登陆的fixture,连接数据库的fixture,如果在每个测试用例文件里都加上fixture,代码就会看着十分别扭,且测试用例与fixture混杂在一起,不方便维护。那么pytest也提供了conftest.py这个文件来帮助我们完成 阅读全文
posted @ 2023-04-03 15:27 测试-13 阅读(182) 评论(0) 推荐(0) 编辑
摘要: Yaml介绍 1、介绍 YAML 是一种可读性非常高,与程序语言数据结构非常接近。同时具备丰富的表达能力和可扩展性,并且易于使用的数据标记语言。YAML全称其实是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写,所以它强调的是数据本身,而不是以标记为 阅读全文
posted @ 2023-03-31 10:37 测试-13 阅读(938) 评论(0) 推荐(0) 编辑
摘要: 前言 在多进程的情况下,每个子进程都会是一个session,里面都会执行一次session级别的fixture,那么如果有些数据是随机生成的,比如生成token、密钥等数据,那么在多进程执行,不同进程里面,得到的token或者密钥值那就不一致了。就可能导致用例执行的失败,那么直接举个例子吧 示例 比 阅读全文
posted @ 2023-03-30 14:08 测试-13 阅读(818) 评论(0) 推荐(1) 编辑
摘要: xdist原理和流程 xdist 的分布式类似于一主多从的结构,master 机负责下发命令,控制 slave 机;slave 机根据 master 机的命令执行特定测试任务。在 xdist 中,主是 master,从是 workers。分布式测试的原理:(1)xdist 会产生一个或多个 work 阅读全文
posted @ 2023-03-28 15:50 测试-13 阅读(858) 评论(0) 推荐(0) 编辑
摘要: 前言 当测试用例数量上去以后,执行一遍所有测试用例,那么执行速度就会比较慢,除了多线程来提高效率外,pytest也提供pytest-xdist插件来做分布式执行,从而减少测试时间,它属于进程级别的并发 pytest-xidst安装 可以直接通过pip进行安装 pip install pytest-x 阅读全文
posted @ 2023-03-27 18:02 测试-13 阅读(182) 评论(0) 推荐(0) 编辑
摘要: 问题现象: 使用pytest运行用例时,用例执行完毕总会提示以下警告 警告意思:弃用警告:从collections中导入ABCs已被弃用,并在python3.9中将停止工作,可使用collections.abc代替它进行使用 但我代码中并未使用这个库,也没有导入这个库。就很纳闷 解决: 百度了一下解 阅读全文
posted @ 2023-03-27 15:17 测试-13 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 前言 在平常测试当中,可能会有一些临时数据,比如输出信息、token、临时密码等数据需要临时保存和读取。那么pytest也提供了一个fixture来支持这种情况。 能够创建临时目录文件的有以下4个fixture:tmp_path、tmp_path_factory、tmpdir、tmpdir_fact 阅读全文
posted @ 2023-03-10 14:33 测试-13 阅读(268) 评论(0) 推荐(0) 编辑
摘要: 前言 当有一些测试用例因为知道肯定是fail掉的,或者还未写完。这时候要执行除它之外的所有测试用例,那么我们就可以选择跳过该用例,pytest同样提供了修饰器(pytest.mark.skip)帮助跳过选定的测试用例 skip修饰器 修饰器:@pytest.mark.skip 无条件跳过用例,在需要 阅读全文
posted @ 2023-03-06 14:57 测试-13 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 前言 像unittest框架中可以通过ddt进行参数化操作,那么pytest也可以进行参数化操作,通过parametrize修饰器就可以将数据参数化传入测试用例 parametrize参数化 1、parametrize修饰器使用 修饰器:@pytest.mark.parametrize('usr,p 阅读全文
posted @ 2023-03-03 15:54 测试-13 阅读(134) 评论(0) 推荐(0) 编辑
摘要: 前言 在pytest中想要做teardown的处理,除了使用带有yield的fixture函数外,还可以添加终结器(addfinlizer),request.addfinlizer将函数变为终结函数 终结函数实现:定义fixture函数,前部分为前置setup的操作,在定义一个函数用来实现后置tea 阅读全文
posted @ 2023-03-01 15:32 测试-13 阅读(244) 评论(0) 推荐(0) 编辑