Python+pytest
文章平均质量分 63
pytest是一个非常成熟的全功能的Python测试框架:
1.简单灵活,容易上手
2.支持参数化
3.测试用例的skip和xfail,自动失败重试等处理
4.能够支持简单的单元测试和复杂的功能测试,还可以用来做selenium/appnium等自动化测试、接口自动化测试
凡晨丹心
这个作者很懒,什么都没留下…
展开
-
pytest-接口自动化实战
1.业务层#封装店铺的类from configs.config import HOSTimport requestsfrom lib.apiLib.login import Loginclass Shop: def __init__(self,inToken): self.headers = {'Authorization':inToken}#身份信息校验--鉴权 #1- 列出店铺 def shop_list(self,inData): ur原创 2021-10-17 22:15:56 · 1459 阅读 · 1 评论 -
Pytest测试框架(二)环境初始化与数据清除
一、fixture的用途pytest fixture 与setup,teardown功能一样,但比之更加灵活,完全可以代替setup,teardown1.做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用fixture来实现2.测试用例的前置条件可以使用fixture实现3.支持经典的xunit fixture ,像unittest使用的setup和teardown4.fixture可以实现unittest不能实现的功能,比如unittest中的测试用例和测试用例之原创 2021-09-05 19:20:01 · 3366 阅读 · 0 评论 -
Pytest测试框架(八)指定用例的运行顺序
pytest用例执行顺序pytest默认按字母顺序去执行的(小写英文—>大写英文—>0-9数字)用例之间的顺序是文件之间按照ASCLL码排序,文件内的用例按照从上往下执行。setup_module->setup_claas->setup_function->testcase->teardown_function->teardown_claas->teardown_module可以通过第三方插件pytest-ordering实现自定义用例执行顺序p原创 2021-05-11 14:10:44 · 5510 阅读 · 2 评论 -
Pytest测试框架(七):pytest 的setup/teardown方法
setup() 和 teardown() 方法用于初始化和清理测试环境,可以保证测试用例的独立性。pytest的setup/teardown方法包括:模块级别(setup_module/teardown_module)、函数级别(setup_function/teardown_function)、类级别(setup_class/ teardown_class)、方法级别(setup_method/teardown_methond或者setup/teardown)。pytest中有四只种setup和tear原创 2021-04-16 20:13:35 · 1988 阅读 · 0 评论 -
Pytest测试框架(六)Yaml技术
1.基本语法大小写敏感使用缩进表示层级关系缩进不允许使用tab,只允许空格缩进的空格数不重要,只要相同层级的元素左对齐即可# 表示注释,从它开始到行尾都被忽略2.数据类型YAML 支持以下几种数据类型:对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)纯量(scalars):单个的、不可再分的值3.YAML 对象对象键值对使用冒号结构表示 key: v原创 2021-03-29 22:11:53 · 1095 阅读 · 2 评论 -
Pytest测试框架(五)Allure报告优化
(一) 环境安装1.安装allure1.从 https://repo.maven.apache.org/maven2/io/qameta/allure/allure-commandline/ 下载最新的版本的压缩包2.解压缩,定位到bin目录下3.将该路径添加到环境变量PATH中4.安装pytest-allure插件,运行:pip install allure-pytest使用运行测试用例:pytest --alluredir=/tmp/my_allure_results直接打开测试报告原创 2021-03-28 20:08:06 · 1179 阅读 · 0 评论 -
Pytest测试框架(四)运行方式
1.测试类主函数模式 pytest.main("-s test_abc.py") # file_name: test_abc.py import pytest # 引入pytest包 def test_a(): # test开头的测试函数 print("------->test_a") assert 1 # 断言成功 def test_b(): print("------->test_b") assert 0 # 断言失败 if __na原创 2021-03-28 18:10:01 · 540 阅读 · 0 评论 -
Pytest测试框架(三)usefixtures与fixture区别
usefixtures与传fixture区别1、如果fixture有返回值,那么usefixture就无法获取到返回值,这个是装饰器usefixture与用例直接传fixture参数的区别。2、当fixture需要用到return出来的参数时,只能讲参数名称直接当参数传入,不需要用到return出来的参数时,两种方式都可以。1.函数或类里面方法直接传fixture的函数参数名称@pytest.fixture()def test1(): print('\n开始执行function') d原创 2021-03-28 13:06:56 · 1077 阅读 · 0 评论 -
Pytest测试框架(一)环境搭建及数据驱动
一.环境搭建1.首先使用pip安装pytestpip install pytestpip install pytest-html 原生态报告模板2.查看pytest是否安装成功pip show pytest二.Pytest执行测试用例1.使用pytest执行用例需要准守的规则:1、.py测试文件必须以_test开头(或者以_test结尾)2、测试类必须以Test开头,并且不能有init方法3、测试方法必须以test_开头4、断言必须使用assert2.pytest中有四只种setu原创 2021-03-28 12:12:16 · 804 阅读 · 0 评论