pytest
文章平均质量分 76
pytest
joviality_valentine
June
展开
-
pytest注册命令行
pytest_addoption 可以让用户注册一个自定义的命令行参数,方便用户将数据传递给 pytest;这个 Hook 方法一般和 内置 fixture pytestconfig 配合使用,pytest_addoption 注册命令行参数,pytestconfig 通过配置对象读取参数的值;注册命令行import pytestimport def pytest_addoption(parser): '''添加命令行参数--browser、--host''' parser.add原创 2020-08-06 10:42:05 · 298 阅读 · 0 评论 -
Pytest官方教程-22-API参考-Hooks
https://www.jianshu.com/p/330b18076d97转载 2020-08-04 17:23:34 · 120 阅读 · 0 评论 -
pytest集成失败图片到html中并添加用例描述
import pytestfrom selenium import webdriverfrom py._xmlgen import html_driver = None# 测试失败时添加截图和测试用例描述(用例的注释信息)@pytest.mark.hookwrapperdef pytest_runtest_makereport(item): """当测试失败的时候,自动截图,展示到html报告中""" pytest_html = item.config.pluginmanag原创 2020-07-30 14:42:17 · 624 阅读 · 0 评论 -
用例失败自动抓图并集成到allure显示的代码
#1、定义装饰2层函数def screenshot_allure(func): def get_err_screenshot(self,*args,**kwargs):#2、定义内部函数,拍图操作 try: func(self,*args,**kwargs) except Exception as e: png = self.driver.get_screenshot_as_png() nam原创 2020-06-11 11:03:02 · 593 阅读 · 0 评论 -
pytest插件探索assume/ordering/dependency/详解
多重校验 pytest-assume简单的校验assert,虽然可以写多个assert def test_add1(self): assert add(2,3)==5 assert add(1,3)==3 assert add(2,5)==7由于第二个断言失败,那么下面的断言就不会执行。所以如果需要多个断言,都执行就需要第三方插件 pyte...原创 2020-04-08 16:47:29 · 916 阅读 · 0 评论 -
pytest-xdist/pytest-parallel多进程执行测试用例
如果想分布式执行用例,用例设计必须遵循以下原则:1.用例之间都是独立的,2.用例a不要去依赖用例b3.用例执行没先后顺序,4.随机都能执行每个用例都能独立运行成功每个用例都能重复运行,不影响其它用例这跟就我们平常多个人工测试一样,用例都是独立的,可以随机分配不同人员执行,互相不依赖,用例之间也不存在先后顺序pytest-xdist安装及查看是否安装安装pip install pyt...原创 2020-04-08 16:21:38 · 5019 阅读 · 0 评论 -
解决自动化测试依赖问题
在excel模板中涉及到数据依赖的列如下图所示:一共有:rely_case_id、rely_data、request_rely_file及request_data 这四列。rely_case_id:表示当前case所依赖的数据所在的case idrely_data:表示当前case所依赖的case的数据所对应的响应结果的字段(可能一些同学不明白,为什么这里不是直接写依赖的数据,因为接口所依...原创 2020-03-24 10:47:45 · 877 阅读 · 0 评论 -
pytest -- 缓存:记录执行的状态
目录摘要1. cacheprovider插件1.1. --lf, --last-failed:只执行上一轮失败的用例1.2. --ff, --failed-first:先执行上一轮失败的用例,再执行其它的1.3. --nf, --new-first:先执行新加的或修改的用例,再执行其它的1.4. --cache-clear:先清除所有缓存,再执行用例2. config.cache对象content...原创 2020-03-22 22:43:13 · 834 阅读 · 0 评论 -
pytest学习总结2
目录pytest运行自定义命令行参数doctest框架装饰器usefixtureshtml报告+错误截图Allure2生成测试报告pytest运行自定义命令行参数1.首先需要在conftest.py添加命令行选项,命令行传入参数”—cmd“, 用例如果需要用到从命令行传入的参数,就调用cmd函数:# conftest.py import pytest def pytest_addo...原创 2020-03-22 21:18:14 · 404 阅读 · 0 评论 -
pytest学习总结1
自定义标题pytest用例设计原则setup与teardownfixture方法相较setup/teardown优势参数化parametrizepytest用例设计原则文件名以test_.py文件和test.py以test_开头的函数以Test开头的类以test_开头的方法所有的包pakege必须要有__init_.py文件用例按照你写的顺序去执行,不像unittest会按照数字和...原创 2020-03-22 20:56:24 · 250 阅读 · 0 评论 -
Pytest学习之fixture作用范围(scope)
‘’’fixture作用范围fixture里面有个scope参数可以控制fixture的作用范围:session > module > class > functionfunction 每一个函数或方法都会调用class 每一个类调用一次,一个类可以有多个方法module,每一个.py文件调用一次,该文件内又有多个function和classsession 是多个...原创 2020-03-22 21:38:20 · 290 阅读 · 0 评论