随笔分类 - Pytest
摘要:pytest接口自动化完整框架思维导图
阅读全文
摘要:前言 我们每天写完自动化用例后都会提交到 git 仓库,随着用例的增多,为了保证仓库代码的干净,当有用例新增的时候,我们希望只运行新增的未提交 git 仓库的用例。pytest-picked 插件可以实现只运行未提交到git仓库的代码。 安装 pip3 install pytest-picked 使
阅读全文
摘要:前言 通常我们认为每个测试用例都是相互独立的,因此需要保证测试结果不依赖于测试顺序,以不同的顺序运行测试用例,可以得到相同的结果。 pytest默认运行用例的顺序是按模块和用例命名的 ASCII 编码顺序执行的,这就意味着每次运行用例的顺序都是一样的。 app 测试里面有个 monkey 测试,随机
阅读全文
摘要:前言 平常我们功能测试用例非常多时,比如有1千条用例,假设每个用例执行需要1分钟,如果单个测试人员执行需要1000分钟才能跑完 当项目非常紧急时,会需要协调多个测试资源来把任务分成两部分,于是执行时间缩短一半,如果有10个小伙伴,那么执行时间就会变成十分之一,大大节省了测试时间 为了节省项目测试时间
阅读全文
摘要:前言 pytest配置文件可以改变pytest的运行方式,它是一个固定的文件pytest.ini文件,读取配置信息,按指定的方式去运行 查看pytest.ini的配置选项 pytest -h 找到以下内容 [pytest] ini-options in the first pytest.ini|to
阅读全文
摘要:前言 pytest 使用命令行执行用例的时候,有些用例执行失败的时候,屏幕上会出现一大堆的报错内容,不方便快速查看是哪些用例失败。 --tb=style 参数可以设置报错的时候回溯打印内容,可以设置参数(auto/long/short/line/native/no) --tb=style pytes
阅读全文
摘要:前言 pytest 运行完用例之后会生成一个 .pytest_cache 的缓存文件夹,用于记录用例的ids和上一次失败的用例。 方便我们在运行用例的时候加上--lf 和 --ff 参数,快速运行上一次失败的用例。 --lf, --last-failed 只重新运行上次运行失败的用例(或如果没有失败
阅读全文
摘要:前言 allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。 mac环境: 1.java == 1.8.0 2.python == 3.7.6 3.pytest == 6.2.
阅读全文
摘要:前言 断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢? 简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试 failed 案例演示 def f(): return 3 def test_function(): a = f
阅读全文
摘要:前言 pytest.mark.skip可以标记无法在某些平台上运行的测试功能,或者您希望失败的测试功能 Skip和xfail: 处理那些不会成功的测试用例 你可以对那些在某些特定平台上不能运行的测试用例或者你预期会失败的测试用例做一个标记,这样pytest在提供测试报告时可以做对应的处理以保持整个测
阅读全文
摘要:前言 当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。 官方示例 下面是一个典型的范例,检查特定的输入所期望的输出是否匹配: # test_expectation
阅读全文
摘要:前言 测试用例在设计的时候,我们一般要求不要有先后顺序,用例是可以打乱了执行的,这样才能达到测试的效果. 有些同学在写用例的时候,用例写了先后顺序, 有先后顺序后,后面还会有新的问题(如:上个用例返回数据作为下个用例传参,等等一系列的问题。。。) github 上有个pytest-ordering插
阅读全文
摘要:前言 平常在做功能测试的时候,经常会遇到某个模块不稳定,偶然会出现一些bug,对于这种问题我们会针对此用例反复执行多次,最终复现出问题来。 自动化运行用例时候,也会出现偶然的bug,可以针对单个用例,或者针对某个模块的用例重复执行多次。 安装 pip3 install pytest-repeat 命
阅读全文
摘要:前言 在我们进行自动化测试的时候,用例往往是成百上千,执行的时间是几十分钟或者是小时级别。有时,我们在调试那么多用例的时候,不知道执行到什么程度了,而pytest-sugar插件能很好解决我们的痛点。 安装 pip3 install pytest-sugar 案例演示 def test_s1():
阅读全文
摘要:安装: pip3 install pytest-rerunfailures 重新运行所有失败用例 要重新运行所有测试失败的用例,请使用--reruns命令行选项,并指定要运行测试的最大次数: $ pytest --reruns 5 添加重新运行的延时 要在两次重试之间添加延迟时间,请使用--reru
阅读全文
摘要:fixture的优势 Pytest的fixture相对于传统的xUnit的setup/teardown函数做了显著的改进: 命名方式灵活,不局限于 setup 和teardown 这几个命名 conftest.py 配置里可以实现数据共享,不需要 import 就能自动找到fixture scope
阅读全文
摘要:Pytest执行用例规则 Pytest在命令行中支持多种方式来运行和选择测试用例 1.对某个目录下所有的用例 pytest 2.对模块中进行测试 pytest test_mod.py 3.对文件夹进行测试 pytest testing 4.通过标记来进行测试 pytest -m slow 这种方式会
阅读全文
摘要:pytest介绍 pytest是python的一种单元测试框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。根据pytest的官方网站介绍,它具有如下特点: 非常容易上手,入门简单,文档丰富,文档中有很多实例可以参考 能够支持简单的单元测试和
阅读全文

浙公网安备 33010602011771号