摘要:
pytest作为python技术栈里面主流、火热的技术,非常有必要好好学一下,因为工作和面试都能用上; 它不仅简单易用,还很强大灵活,重点掌握fixture、parametrize参数化、allure-pytest插件等,这些在后续自动化框架里面都会用到。 有建议请联系wx:ren168632201 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 应用场景 用来验证用例在随机(无序)执行时是否正常。 插件安装 pip install pytest-random-order 使用方式 加参数:--random-order 示 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 应用场景 用例执行顺序,默认是按照从上到下的顺序进行执行的,详见:https://www.cnblogs.com/uncleyong/p/17956862 如果想自定义执行顺序, 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 使用场景 某功能不稳定,重复执行多次,以便复现问题。 插件安装 安装:pip install pytest-repeat 使用方式一:命令行参数 参数: --count:重复运行 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 关于插件 pytest有很多第三方插件:https://docs.pytest.org/en/latest/reference/plugin_list.html#plugin-l 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 日志格式配置 pytest.ini,内容包含terminal和日志文件 [pytest] addopts = --capture=no ;日志开关 true/false、1/0 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 断言是验证软件实际结果是否和预期结果一致,如果不一致,程序会中止执行并给出失败信息 assert断言 pytest使用的是python自带的assert关键字来进行断言 如果断言 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 常用异常处理方法 try...except pytest.raises() try...except 平常我们是这样用的: #!/usr/bin/env python # -*- 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 关于警告 如果警告不重要,可以忽略,如果警告很重要,可以提升为异常。 实现一:配置过滤警告 1、命令行参数,pytest case\test_qzcsbj.py -vs -W e 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 应用场景 我们可以将常用标记赋值给一个标记变量,这样可以在模块中、模块间共享这些标记变量 如果是模块间共享,需要把标记变量单独放一个文件中,然后模块中导入 示例:模块中共享 #! 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 应用场景 功能未开发完成,但是用例写了; 环境限制,已经知道会失败,也可以预期失败。 源码 class _XfailMarkDecorator(MarkDecorator): @ 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 应用场景 1、受限环境,某些用例无法运行 2、功能未开发完成,但是用例写了,可以不运行这些用例 实现方案 1、加装饰器,被修饰函数/方法中代码不会被执行,也就是说不会进入方法;也 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 之前我们分享了fixture中使用ids给用例取别名(详见:https://www.cnblogs.com/uncleyong/p/18020735) 类似的,parametri 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 简介 1、indirect默认是False 2、如果设置成True,表示把被parametrize修饰器修饰的方法形参当函数执行(parametrize中参数名和这个形参同名), 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 测试数据 从数据库导出的数据是csv case.csv parametrize从csv获取数据 #!/usr/bin/env python # -*- coding: utf-8 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 测试数据 case.xlsx 设置为文本格式:'123 模块安装(读excel) pip install xlrd==1.0.0 parametrize从excel获取数据 #! 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 测试数据 case.json [ { "uname": "ren", "pwd": "123" }, { "uname": "qzcsbj", "pwd": "456" } ] 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 前置基础 python操作yaml:https://www.cnblogs.com/uncleyong/p/17994122 关于数据驱动 数据驱动就是通过数据的改变从而驱动自动 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 关于parametrize参数化 之前我们分享了通过fixture返回值实现参数化(详见:https://www.cnblogs.com/uncleyong/p/17957896 阅读全文
摘要:
pytest简易教程汇总,详见:https://www.cnblogs.com/uncleyong/p/17982846 前言 通常,我们通过分包或者分模块来对用例进行分类管理, 如果只想执行符合某要求的部分用例,该如何实现呢? 可以使用装饰器@pytest.mark.xxx给用例打标签(自定义标记 阅读全文