![]()
内容推荐 Pytest是非常广泛的基于Python语言的应用自动化测试框架,本书首先从实战的角度层层递进地讲解了Pytest框架使用方法,然后从企业级应用实战的角度讲解了如何利用Pytest自动化测试企业测试框架,并结合Jenkins以及Allure工具,演示在企业中是如何应用的。 第1章介绍运行环境以及Pytest快速体验,第2章介绍Pytest测试脚本的组成结构和测试脚本默认的命名规则以及脚本执行,第3章介绍断言的使用方法,第4章介绍了标签的使用方法,第5章详细介绍了自动化脚本各种常用的执行策略,第6~8章介绍了fixture的基础和高级应用以及常见的fixture的使用方法,第9章介绍了参数化以及数据驱动的使用方法,第10章介绍了告警,第11章介绍了Pytest中丰富的日志和打印功能,第12章介绍了Allure测试报告,第13章从设计角度介绍如何设计封装自动化测试框架,以及Pytest、Allure与Jenkins的集成,第14章介绍了常用的第三方插件,第15章解读了Pytest的核心即Pluggy的源码分析。 本书既可以作为自动化测试人员、测试开发人员的工具书,也可以作为Pytest技术相关培训教材。 目录 第1章 Pytest概述 1.1 Pytest简介 1.1.1 Pytest的特点 1.1.2 -Pytest发展历程 1.1.3 为什么要选用Pytest 1.2 开发环境的安装 1.2.1 Python安装 1.2.2 同时安装多个Python版本 1.2.3 彻底卸载Python 1.2.4 Pycharm的下载安装 1.3 虚拟环境管理工具Pipenv的应用 1.3.1 安装Pipenv 1.3.2 Pipenv工具的使用方法 1.3.3 配置Python解释器 1.4 Pytest快速体验 1.4.1 Pytest安装与升级 1.4.2 创建并执行第一个测试脚本 1.4.3 Pytest命令的默认行为 1.4.4 对产生的异常进行断言 1.4.5 在类中编写测试脚本 1.4.6 测试脚本请求,创建一个临时目录 第2章 Pytest脚本规则、组成与运行 2.1 Pytest脚本的规则 2.1.1 测试脚本文件命名规则 2.1.2 测试函数的测试类命名规则 2.1.3 测试脚本目录的约束条件 2.1.4 自定义测试文件名、测试类、测试函数命名规则 2.2 Pytest脚本的组成 2.2.1 自动化脚本组成简介 2.2.2 测试类中各个层级的setup和teardown 2.2.3 测试文件中各个层级的setup和teardown 2.2.4 测试文件中测试函数和类中测试方法混合时各个层级的setup与teardown 2.2.5 各个层级的setup和teardown在自动化实践中的应用 2.3 Pytest脚本的运行 2.3.1 指定目录或文件 2.3.2 指定测试函数或测试方法 2.3.3 通过--k参数对文件类名及函数名进行模糊匹配和挑选 2.3.4 通过--ignore参数挑选用例,忽略执行 2.3.5 通过--ignore-glob参数支持正则挑选用例忽略 2.3.6 通过--deselect参数挑选用例不执行,并显示未执行数量 2.3.7 通过重复指定文件路径,实现用例重复执行 2.3.8 通过--collect-only参数不执行脚本而统计脚本总数 2.3.9 通过Pytest.ini设置用例默认的搜索目录 2.3.10 在IDE中通过右键执行当前文件用例 2.4 Pytest脚本的加载原理 2.4.1 prepend模式 2.4.2 append模式 2.4.3 prepend和append模式存在的问题 2.4.4 importlib模式 第3章 Assert断言 3.1 使用Assert断言 3.1.1 Python中为False的数值断言均失败 3.1.2 Python逻辑表达式为False的断言均失败 3.2 自定义断言报错信息 3.3 对捕获的异常进行断言 3.3.1 对异常类型进行断言 3.3.2 对捕获的异常信息进行断言 3.3.3 同时对捕获的异常类型和异常信息进行断言 3.3.4 对一个函数可能产生的异常进行断言 3.4 重写断言Assert语句的报错信息 3.4.1 默认的报错信息 3.4.2 重写判断是否相等的断言报错信息 3.4.3 重写常见的判断逻辑报错信息 第4章 mark标签的用法 4.1 skip和skipif的使用方法 4.1.1 skip的用法 4.1.2 skipif的用法 4.2 xfail和xpass的用法 4.2.1 xfail标记测试脚本 4.2.2 xfail根据条件判断标记测试脚本 4.2.3 动态启用xfail标记 4.2.4 @pytest.mark.xfail只设置reason参数 4.2.5 @pytest.mark.xfail通过run参数设置是否执行 4.2.6 xpassed用例显示为失败 4.2.7 使xfail标记失效的方法 4.3 importorskip的用法 4.4 注册并使用自定义mark标签 4.4.1 直接使用自定义mark标签 4.4.2 通过conftest.py文件重写pytest_configure函数的注册标签 4.4.3 通过pytest.ini文件配置注册标签 4.4.4 通过标签灵活挑选测试脚本执行 第5章 Pytest测试用例的执行策略 5.1 在遇到用例失败时如何停止执行 5.2 如何在用例失败时打印局部变量 5.3 如何在用例执行失败时使用pdb进行调试 5.4 用例失败后如何重新执行 5.5 如何在一个用例断言失败后继续执行 5.6 如何在失败N个用例后停止执行 5.7 如何只执行上次失败的用例 5.8 如何从上次失败处继续执行用例 5.9 如何先执行上次失败用例,再执行其他用例 5.10 如何重复执行用例 5.11 如何进行多进程并行执行用例 5.12 如何随机执行用例 5.13 如何只运行未提交git代码仓的脚本 5.14 如何查找耗时最长的用例脚本 第6章 fixture的基础应用 6.1 fixture传值的作用 6.2 fixture嵌套的应用 6.3 在函数中调用多个fixture 6.4 fixture如何设置自动执行 6.5 通过yield实现setup和teardown的功能 6.6 function级别的fixture 6.7 class级别的fixture 6.8 module级别的fixture 6.9 package级别的fixture 6.10 session级别的fixture 6.11 fixture的覆盖原则 6.12 yield的缺陷及解决方案 第7章 fixture的高级应用 7.1 通过request动态获取或配置测试脚本的属性 7.2 通过request向fixture传递参数 7.3 fixture如何实现参数化,即数据驱动 |