随笔分类 - Pytest
摘要:此时我们只需要在conftest文件下加如下钩子函数就可以完美解决: @pytest.mark.hookwrapper def pytest_runtest_makereport(item, call): outcome = yield report = outcome.get_result() r
阅读全文
摘要:写了一个框架,运行的时候报错,提示: ERROR: usage: run_tests.py [options] [file_or_dir] [file_or_dir] [...] run_tests.py: error: unrecognized arguments: --reruns 1 --ht
阅读全文
摘要:前言 Python项目中,一般都会有一个 requirements.txt 文件 这个文件主要是用于记录当前项目下的所有依赖包及其精确的版本号,以方便在一个新环境下更快的进行部署 如何生成 requirements.txt 进入项目根目录,执行以下命令 pip3 freeze > requireme
阅读全文
摘要:用pytest框架,生成的html报告中,中文显示乱码,如下图: ![](https://img2022.cnblogs.com/blog/718867/202203/718867-20220321152950158-547314590.png) 找到pytest-html 插件下的plugin.p
阅读全文
摘要:一、配置 allure 环境变量 1、下载 allure是一个命令行工具,可以去 github 下载最新版:https://github.com/allure-framework/allure2/releases 2、解压到本地 3、配置环境变量 复制路径如:F:\allure-2.13.7\bin
阅读全文
摘要:一、前言 上一篇文章已经实现了动态标题,但是allure也给出了动态实现的注解,如: allure.dynamic.description allure.dynamic.title ,我们来一起围观下源代码吧。 二、allure.dynamic 的源代码 class Dynamic(object):
阅读全文
摘要:一、前言 使用参数化测试化后,allure的报告如下显示: 源代码如下: # -*- coding: utf-8 -*- # @Time : 2020/12/13 17:27 # @Author : longrong.lang # @FileName: test_param_title.py # @
阅读全文
摘要:先看看 allure 命令的帮助文档 cmd 敲 allure -h allure 命令的语法格式 allure [options] [command] [command options] options 列表 Options: --help 命令行帮助文档 -q, --quiet 切换至安静模式
阅读全文
摘要:一、前言 使用@allure.severity注解,可以在 allure 报告中清晰的看到不同级别用例情况 用例等级介绍 allure 提供的枚举类 二、等级介绍 blocker:阻塞缺陷(功能未实现,无法下一步) critical:严重缺陷(功能点缺失) normal: 一般缺陷(边界情况,格式错
阅读全文
摘要:前言 这三个注解,个人觉得和BDD即行为驱动类似,学习思路参考cucumber,而allure提供的这三个标记装饰器,它们是可以显示在allure报告上的。 allure的标记装饰器 BDD样式的标记装饰器 优先级(严重程度)标记装饰器 自定义标记装饰器 BDD标记装饰器 提供了三个装饰器 @all
阅读全文
摘要:## 一、先看看三个装饰器源码 ```python def link(url, link_type=LinkType.LINK, name=None): return safely(plugin_manager.hook.decorate_as_link(url=url, link_type=lin
阅读全文
摘要:一、@allure.description()的使用 作用 可以添加足够详细的测试用例描述 语法格式,有三种 1、@allure.description(str) 2、在测试用例函数声明下方添加 """ """ 3、@allure.description_html(str):相当于传一个HTML代码
阅读全文
摘要:一、@allure.step的用法 可以理解为我们编写测试用例中的每一步操作步骤,而在allure中表示对每个测试用例进行非常详细的步骤说明 通过 @allure.step(),可以让测试用例在allure报告中显示更详细的测试过程 示例代码: # -*- coding: utf-8 -*- # @
阅读全文
摘要:前言 上一篇文章我们用allure2生成美丽的测试报告,但仔细发现,有个不足就是环境参数没有显示,虽然这块是否显示不影响什么,但是,我还是想让他显示。 Environment是干啥的? 可以理解成环境变量参数,没有什么实际作用,个人觉得只是为了让别人知道本次测试的运行环境参数而已,显示成什么都是自己
阅读全文
摘要:一:环境配置 安装插件 allure 是一个轻量级的,灵活的,支持多语言,多平台的report框架。 Allure2官网地址:https://github.com/allure-framework/allure2 pip3 install allure-pytest -i http://pypi.d
阅读全文
摘要:前言 xdist的分布式类似于一主多从的结构,master机负责下发命令,控制slave机;slave机根据master机的命令执行特定测试任务 在xdist中,主是master,从是workers 大致原理 xdist会产生一个或多个workers,workers都通过master来控制 每个wo
阅读全文
摘要:前言 类似TestNG中的多线程并发执行用例,只是python叫多进程,目的就是批量执行测试脚本,从而节省自动化测试时间。 分布式执行用例的设计原则(重中之重的重点) 用例之间是独立的,用例之间没有依赖关系,用例可以完全独立运行【独立运行】 用例执行没有顺序,随机顺序都能正常执行【随机执行】 每个用
阅读全文
摘要:一、前言 assume,是pytest的断言另外一种形式,结合TestNg中的断言,不难理解,也就是软断言和硬断言的使用。 二、安装插件 pip3 install pytest-assume -i http://pypi.douban.com/simple/ --trusted-host pypi.
阅读全文
摘要:pytest.ini的作用 可以改变pytest的运行方式,读取配置信息,并按指定的方式去运行 非test文件 pytest里面有些文件是非test文件 pytest.ini:pytest的主配置文件,可以改变pytest的默认行为 conftest.py:测试用例的一些fixture配置 init
阅读全文
摘要:写在前面 这个插件,可以帮助我们很好的解决自动化测试过程中的一些偶线性bug难以复现的问题,但前提是,当前自动化脚本是独立的,不依赖任何其他脚本。个人觉得还是失败重运行的一种体现,就和TestNG是一样的,下面我们来一起感受下这个插件的使用吧。 环境准备 py.test版本 ≥ 2.8 Python
阅读全文