注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件工程及软件方法学pytest框架与自动化测试应用

pytest框架与自动化测试应用

pytest框架与自动化测试应用

定 价:¥100.00

作 者: 房荔枝,梁丽丽 著
出版社: 清华大学出版社
丛编项:
标 签: 暂缺

购买这本书可以去


ISBN: 9787302587156 出版时间: 2021-12-01 包装: 平装
开本: 16开 页数: 404 字数:  

内容简介

  pytest 是 Python 的第三方测试框架,可以实现软件测试各层次自动化。本书系统讲述pytest的主要技术及在各层次自动化测试的应用。 第1章介绍pytest框架。第2章讲解框架运行管理及对测试用例、断言的管理,运行管理中包括各种形式和层次的执行,展示框架的灵活性和全面性。第3章详细介绍框架的核心技术fixture,fixture使用依赖注入技术完成方法、类、文件级、会话级关联、数据关联和共享,可完美解决各种情况耦合和共享。第4章结合测试中最重要的数据驱动技术产生的参数化技术,并配合fixture技术实现一组代码多组数据的数据与代码分离技术。第5章系统讲解各种实用插件。第6~10章是实践,从单元自动化测试、接口自动化测试、Web端自动化测试及App自动化测试计划开始,讲解设计、实现到执行的全流程。第11章介绍BDD,让非技术人员也能参与测试的全过程。第12章介绍pytest一些相关配置。 本书可作为从事软件自动化测试的技术人员的参考书籍,也可作为高等院校,高职类软件工程中质量保证的参考书籍。

作者简介

  房荔枝51testing资深讲师,具有十几年中、大型公司软件测试、测试自动化及测试管理的一线经验。 梁丽丽哈尔滨职业技术学院讲师,院生态电商专业创新团队成员,院电子商务专业工程技术教育认证(TAC)成员,院优秀班主任,长期从事网页设计、无线传感器网络研究应用、计算机应用技术领域的教学和研究工作。先后开设商务网页设计与制作、电子商务网站建设与管理、计算机应用技术、人工智能等多门课程。主持省规划办重点课题1项,参与省级及校级课题4项,获国家发明专利2项,发表论文6篇。

图书目录

第1章pytest框架介绍
1.1pytest框架引入
1.1.1测试框架能为我们解决什么问题
1.1.2测试框架的分类
1.1.3什么是pytest
1.2技术前提要求
1.2.1技术前提
1.2.2适合人
1.3环境准备及资料准备
1.3.1Python的环境验证
1.3.2安装pytest
1.4pytest初体验
1.4.1在终端建立测试方法及执行过程
1.4.2在PyCharm建立测试方法及执行过程
1.4.3pytest的框架结构
1.4.4在PyCharm中配置运行工具
1.4.5右击以pytest方式执行代码
1.4.6去掉main方法执行测试
1.4.7PyCharm中执行某个测试方法
1.4.8运行窗口的工具栏含义
1.5执行的查找原则和测试类及测试方法的命名
1.6本章小结
2章pytest的测试用例管理及运行管理
2.1测试用例的命名管理
2.2用例执行顺序
2.3测试用例的断言管理
2.3.1什么是断言
2.3.2断言的时机
2.3.3断言的分类与使用
2.3.4触发一个指定异常的断言
2.3.5为失败断言添加自定义的说明
2.3.6Assert各种类型断言
2.4测试用例的运行管理
2.4.1获取帮助信息
2.4.2常用运行测试用例方式
2.4.3通过python m pytest 调用pytest 
2.4.4在Python代码中调用pytest 
2.4.5pytest执行结束时返回的状态码
2.4.6输出代码中的控制台信息
2.4.7显示详细信息
2.4.8不显示详细信息
2.4.9显示简单总结结果
2.4.10执行指定的测试用例
2.4.11执行指定目录下所有的测试用例
2.4.12k参数执行包含特定关键字的测试用例
2.4.13执行指定deid的测试用例
2.4.14m参数执行指定标记的用例
2.4.15执行指定包中的测试用例
2.4.16修改回溯信息的输出模式
2.5运行的失败管理
2.5.1多允许失败的测试用例数
2.5.2失败运行管理的原理
2.6跳过skip测试用例的执行
2.6.1@pytest.mark.skip装饰器
2.6.2pytest.skip方法
2.6.3@pytest.mark.skipif装饰器
2.6.4pytest.importorskip方法
2.6.5跳过测试类
2.6.6跳过测试模块
2.6.7跳过指定文件或目录
2.6.8各种跳过小结
2.7标记用例为预期失败
2.7.1@pytest.mark.fail标记用例
2.7.2使用pytest.fail标记用例
2.7.3fail标记如何失效
2.8中断调试及错误处理
2.8.1失败时加载PDB环境
2.8.2开始执行时就加载PDB环境
2.8.3设置断点
2.8.4使用内置的中断函数
2.8.5错误句柄
2.9结果分析及报告
2.9.1分析测试执行时间
2.9.2创建及定制JUnitXML格式的测试报告
2.10不稳定测试用例处理
2.10.1为什么不稳定测试是个问题
2.10.2潜在的根本原因是什么
2.10.3pytest为我们提供的解决策略
2.10.4pytest_CURRENT_TEST
2.10.5可以重新运行的插件
2.10.6测试人员采用的解决策略
2.11本章小结
3章pytest中闪亮的fiture功能
3.1fiture介绍
3.2fiture目标
3.3fiture基本的依赖注入功能
3.4fiture应用在初始化设置
3.5fiture应用在配置销毁
3.5.1使用yield代替return
3.5.2使用with写法
3.5.3使用addfinalizer方法
3.5.4yield与addfinalizer的区别
3.6fiture方法源码详细讲解
3.7不同层级scope使用fiture实例
3.7.1模块(module)级别使用fiture实例
3.7.2类(class)级别使用fiture实例
3.7.3会话(session)级别使用fiture与conftest.py配合
3.7.4session级别实例
3.8使用params 传递不同数据
3.8.1测试方法使用两个简单测试数据
3.8.2二(多)个测试方法共用两个简单测试数据
3.8.3有效测试数据与预期失败fail的测试数据
3.8.4params与ids的应用
3.8.5params综合实例
3.9自动调用fiture
3.9.1使用fiture中参数autouse=True实现
3.9.2使用@pytest.mark.usefitures
3.9.3数据库自动应用的实例
3.10三方插件通过文件夹共享测试数据
3.11fiture的并列与嵌套调用
3.11.1并列使用fiture
3.11.2嵌套调用fiture
3.11.3多个fiture的实例化顺序
3.11.4fiture返回工厂函数
3.11.5高效地利用fiture实例
3.12在不同的层级上重写fiture
3.12.1在文件夹(conftest.py)层级重写fiture
3.12.2在模块层级重写fiture
3.12.3在用例参数中重写fiture
3.12.4参数化的fiture可重写非参数化的fiture,反之亦然
3.13本章小结
4章pytest的数据驱动和参数传递
4.1参数化介绍
4.2参数化的应用
4.2.1单一参数化应用
4.2.2多参数应用
4.2.3多个参数化
4.2.4参数化与fiture的结合
4.2.5pytestmark实现参数化
4.3parametrize源码详细讲解
4.4argnames参数
4.4.1argnames与测试方法中的参数关系
4.4.2argnames调用覆盖同名的fiture
4.5argvalues参数
4.5.1argvalues来源于Ecel文件
4.5.2使用pytest.param为argvalues赋值
4.6indirect参数
4.7ids参数
4.7.1ids的长度
4.7.2ids相同
4.7.3ids中使用中文
4.7.4通过函数生成ids
4.7.5ids的覆盖
4.7.6ids的作用
4.8scope参数
4.8.1module级别
4.8.2未指定scope
4.9pytest_generate_tests钩子方法
4.10本章小结
5章pytest的相关插件及插件管理
5.1pytest的插件安装
5.2常见插件介绍
5.3常用插件的使用
5.3.1pytestassume断言报错后依然执行
5.3.2pytestcov 测试覆盖率
5.3.3pytestfreezegun 冰冻时间
5.3.4pytestflakes静态代码检查
5.3.5pytesthtml生成HTML报告
5.3.6pytesthttpserver 模拟HTTP服务
5.3.7pytestinstafail用于用例失败时立刻显示错误信息
5.3.8pytestmock 模拟未实现的部分
5.3.9pytestordering调整执行顺序
5.3.10pytestpep8自动检测代码规范
5.3.11pytestpicked运行未提交git的用例
5.3.12pytestrerunfailures 失败重试
5.3.13pytestrepeat 重复运行测试
5.3.14pytestrandomorder 随机顺序执行
5.3.15pytestsugar 显示彩色进度条
5.3.16pytestselenium 浏览器兼容性测试
5.3.17pytesttimeout 设置时时间
5.3.18pytestdist测试并发执行
5.4插件管理
5.4.1在测试模块或conftest文件中加载插件
5.4.2找出哪些插件处于活动状态
5.4.3通过名称停用/注销插件
5.5本章小结
6章与Allure框架结合定制测试报告
6.1Allure框架介绍
6.2Allure如何生成测试报告
6.3Allure报告组成
6.3.1总览
6.3.2类别
6.3.3测试套件
6.3.4功能
6.3.5图形
6.3.6时间轴
6.3.7包
6.4Allure的初体验
6.4.1Allure在Windows 系统下安装
6.4.2Allure在Linu环境下安装
6.4.3Allure在Mac OS系统下安装
6.4.4Allure的简单用法
6.4.5Allure的帮助说明
6.5定制测试报告
6.5.1定制详细的步骤说明
6.5.2不同类型的附件补充测试说明
6.5.3定制各种类型内容描述
6.5.4定制测试标题
6.5.5各种链接
6.5.6自定义各种标签
6.5.7严重性标记
6.5.8重试信息展示
6.6本章小结
7章单元自动化测试实践
7.1什么是单元测试
7.2pytest测试框架是单元测试的框架
7.3单元测试与质量
7.4单元测试一个函数
7.5单元测试一个类
7.5.1类的说明
7.5.2开发的调用
7.5.3类持续开发: 功能的增加及修改
7.5.4类的单元测试
7.6本章小结
8章API自动化测试实践
8.1测试微信公众号接口
8.1.1熟悉接口文档以便获取信息
8.1.2接口测试用例设计
8.2执行测试
8.2.1使用get()、post()方法发送请求,返回响应
8.2.2使用conftest共享数据
8.2.3读取yaml数据文件进行parametrize
8.2.4关联接口数据传递及更新删除接口测试
8.2.5fiture的依赖接口需要测试,也需要参数化
8.3使用Allure定制报告
8.4使用pytest进行各种执行
8.5本章小结
9章Web自动化测试持续集成实践
9.1Web自动化测试及持续集成源起
9.2被测试系统的安装和介绍
9.2.1人力资源管理系统安装
9.2.2人力资源管理系统介绍
9.3Web项目自动化原理及Web测试框架
9.3.1自动化测试要达到的目标和涉及的技术
9.3.2Web自动化测试框架Selenium介绍
9.3.3Selenium框架技术简述
9.4整合Web自动化测试框架
9.4.1自动化测试准备
9.4.2创建工程目录
9.4.3页面元素定位
9.4.4页面元素作
9.4.5提高代码的复用性和灵活性——封装
9.4.6编写测试用例
9.4.7测试执行
9.4.8生成Allure报告
9.5Web自动化测试本地环境持续集成
9.5.1Jenkins 2实现自动化执行测试及持续集成流程
9.5.2使用自由风格配置Python自动化测试
9.5.3使用pipeline配置Python自动化测试
9.5.4使用BlueOcean配置Python自动化测试
9.6本章小结
10章App自动化测试项目实践
10.1App自动化测试框架选择
10.2App自动化测试环境的搭建
10.2.1安装和验证Java JDK——Windows系统
10.2.2安装和验证de.js
10.2.3安装Android SDK
10.2.4安装模拟器或连接真机
10.2.5安装appiumdesk
10.2.6安装appiumclient
10.2.7appiumdoctor环境检查
10.3使用pytest和Allure建立App自动化混合框架
10.3.1安装所需要的包和插件
10.3.2建立目录结构
10.3.3连接App的配置及启动App
10.3.4使用各种工具进行元素定位
10.3.5使用PO方式建立元素定位locators类
10.3.6使用PO方式建立元素作方法基类
10.3.7使用PO方式建立每个页面或功能的元素作方法类
10.3.8结合pytest的特性建立公共数据共享文件conftest.py
10.3.9使用PO的方式建立测试类
10.3.10使用yaml文件及pytest中的parametrize作为数据驱动程序
10.3.11使用Allure标签定制报告
10.3.12封装的一些公共的方法
10.3.13在文件中读取配置文件数据
10.3.14在测试用例中添加log日志
10.3.15组织测试用例(添加运行标记)
10.3.16实现持续集成——在Jenkins运行测试代码
附: 本次运行的部分appium日志翻译
11章行为驱动开发(BDD)实现自动化测试
11.1什么是BDD
11.2BDD开发过程
11.3BDD的功能和作用
11.4中国BDD现状
11.5pytestbdd实现BDD开发

本目录推荐