新書推薦:
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:NT$
230.0
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:NT$
403.0
《
透过器物看历史(全6册)
》
售價:NT$
2234.0
《
我在台北故宫博物院读名画
》
售價:NT$
500.0
《
尼罗河往事:古埃及文明4000年
》
售價:NT$
347.0
《
一个人·谁也不是·十万人(诺贝尔文学奖得主反思自我的巅峰之作)
》
售價:NT$
250.0
《
重写晚明史(全5册 精装)
》
售價:NT$
3560.0
《
汉末晋初之际政治研究
》
售價:NT$
602.0
|
編輯推薦: |
1.基于JMeter、Postman、Dovker工具,系统讲述测试框架搭建方法及测试工具使用方法
2.提供大量详细项目及代码案例帮助掌握测试技巧
3.深入理解UnitTest、HttpRunner、Selenium、Appium等多种测试框架
|
內容簡介: |
《软件自动化测试实战:基于开源测试工具》旨在讲述测试框架、接口测试、Web自动化测试及移动端自动化测试。本书共8章,主要内容包括为什么要实施自动化测试,Python开发环境的搭建,Python基础知识,基于Python的单元测试框架UnitTest及其应用案例,HttpRunner测试框架及其应用案例,HttpRunnerManager测试平台的搭建过程,JMeter和Postman在接口测试中的应用,Docker基础与操作实战,Selenium自动化测试框架及其应用案例,Appium自动化测试框架及其应用案例等。
《软件自动化测试实战:基于开源测试工具》适合测试人员和开发人员阅读,也可供高等院校计算机相关专业的师生阅读。
|
關於作者: |
于涌,具有多年软件开发和软件测试方面工作工作经验。先后担任程序员、测试分析师、高级测试经理、测试总监等职位。拥有多年的软件开发、软件测试项目实践和教学经验。尤其擅长自动化测试、工具应用、单元测试等方面的工作。曾为多个软件公司提供软件测试知识、软件性能测试、性能测试工具LoadRunner、功能测试工具QTP、WinRunner、Jmeter等内容的培训工作。曾在程序员杂志上发表过多篇文章。
|
目錄:
|
目 录
第 1章 自动化测试基础和Python
开发环境的搭建 1
1.1 为什么要实施自动化测试 1
1.2 为什么要学习Python 2
1.3 Python的版本选择、安装与配置 8
1.3.1 Python的版本选择 9
1.3.2 Python的安装与配置 11
1.4 Python模块的安装方法 15
1.5 Python IDE——PyCharm的
安装与配置 19
1.6 使用PyCharm完成第 一个Python
项目 21
第 2章 Python基础知识 26
2.1 IDLE——Python自带的IDE 26
2.2 Python相关术语 28
2.2.1 变量 28
2.2.2 数据类型 31
2.2.3 数据类型转换 35
2.2.4 缩进 38
2.2.5 内置函数 39
2.3 列表 40
2.3.1 创建列表 40
2.3.2 使用索引获取列表元素 41
2.3.3 使用切片获取列表元素 41
2.3.4 添加列表元素 44
2.3.5 删除列表元素 45
2.3.6 计数列表元素 47
2.3.7 获取列表元素的索引位置 49
2.3.8 反转列表元素并获取列表的
长度 50
2.4 元组 51
2.4.1 创建元组 51
2.4.2 使用索引获取元组元素 51
2.4.3 使用切片获取元组元素 52
2.4.4 统计元组元素的出现次数 52
2.4.5 获取元组元素的索引位置 53
2.4.6 删除整个元组 53
2.5 字典 54
2.5.1 创建字典 54
2.5.2 获取字典元素 56
2.5.3 修改字典 57
2.5.4 统计字典元素个数 57
2.5.5 删除字典或字典中的元素 58
2.6 集合 59
2.6.1 创建集合 59
2.6.2 获取集合元素 61
2.6.3 添加集合元素 62
2.6.4 修改集合 62
2.6.5 计数集合元素 64
2.6.6 删除集合或集合中的元素 64
2.7 常用运算符 65
2.7.1 算术运算符 65
2.7.2 逻辑运算符 68
2.7.3 比较运算符 69
2.7.4 赋值运算符 69
2.7.5 位运算符 70
2.8 常规语句应用基础 71
2.8.1 for循环语句 72
2.8.2 while循环语句 72
2.8.3 if-else条件语句 73
2.8.4 break语句 73
2.8.5 continue语句 74
2.8.6 导入模块 74
2.8.7 函数 77
2.8.8 lambda函数 80
2.8.9 断言 81
2.8.10 局部变量和全局变量 82
2.8.11 单行注释与多行注释 82
2.9 语法错误及异常处理 84
2.9.1 语法错误 84
2.9.2 其他错误 85
2.9.3 通过try-except捕获异常 86
2.9.4 通过try-except-else-finally
捕获异常 88
2.9.5 抛出异常 89
2.10 多线程处理 90
2.10.1 __name__ == ”__main__”: 90
2.10.2 线程概念解析 93
2.10.3 创建单线程 93
2.10.4 创建多线程 94
2.10.5 守护线程 95
2.10.6 阻塞线程 100
2.11 类和对象 101
2.11.1 对象思想的引入 101
2.11.2 对象(类)的概念 102
2.11.3 类中的self是什么 103
2.11.4 构造函数与析构函数 105
2.11.5 类的继承 107
2.12 字符串相关操作 109
2.12.1 字符串的类型转换 109
2.12.2 字符串的拼接 110
2.12.3 字符串的截取 112
2.12.4 字符串的替换 113
2.12.5 字符串的位置判断 114
2.13 文件相关操作 115
2.13.1 文本文件操作 115
2.13.2 Excel文件操作 117
2.13.3 JSON文件操作 121
第3章 基于Python的单元测试
框架UnitTest 125
3.1 UnitTest单元测试框架 125
3.2 UnitTest单元测试框架的应用 126
3.2.1 前期准备 126
3.2.2 设计测试用例 128
3.2.3 测试用例 129
3.2.4 测试固件 131
3.2.5 测试套件 132
3.2.6 测试运行器 135
第4章 HttpRunner测试框架及其
应用 139
4.1 HttpRunner测试框架介绍 139
4.2 HttpRunner运行环境的搭建
过程 140
4.3 HttpRunner简单应用案例 142
4.4 HttpRunnerManager测试平台的
搭建过程 146
4.5 HttpRunner应用综合案例 158
4.5.1 被测项目环境搭建 158
4.5.2 被测项目必要设置 161
4.5.3 Charles脚本的录制与优化 163
4.5.4 将Charles生成的脚本转换为
HttpRunner测试用例 166
4.5.5 HttpRunner测试用例运行失败
原因分析 167
4.5.6 HttpRunner测试用例的优化与
再运行 170
4.6 HttpRunner 2.0测试框架的应用 176
第5章 JMeter和Postman在接口测试
中的应用 184
5.1 JMeter在接口测试中的应用 184
5.1.1 JMeter介绍 184
5.1.2 准备JMeter安装环境 185
5.1.3 安装JDK 186
5.1.4 安装JMeter 188
5.1.5 JMeter录制需求介绍 189
5.1.6 创建线程组 189
5.1.7 添加测试脚本录制器 190
5.1.8 配置证书 193
5.1.9 运行测试脚本录制器 197
5.1.10 添加监听器 201
5.1.11 添加检查点 203
5.1.12 分析结果信息 205
5.2 基于JMeter的接口测试项目
实战 206
5.2.1 “火车查询”接口介绍 207
5.2.2 “火车查询”接口测试用例
设计 211
5.2.3 首个接口测试用例的JMeter
脚本的实现 212
5.2.4 首个接口测试用例的JMeter
脚本的执行与结果分析 214
5.2.5 所有接口测试用例的JMeter
脚本的实现 218
5.2.6 所有接口测试用例的JMeter
脚本的执行与结果分析 220
5.3 Postman在接口测试中的应用 222
5.3.1 Postman介绍及安装 222
5.3.2 发送请求 225
5.3.3 执行脚本 230
5.3.4 运行集合 235
5.4 基于Postman的接口测试项目
实战 238
5.4.1 接口测试用例的Postman
脚本的实现 238
5.4.2 接口测试用例的Postman
脚本的执行与结果分析 245
第6章 Docker基础与操作实战 248
6.1 Docker容器简介 248
6.2 Docker的安装过程 251
6.3 Docker命令实战:帮助命令
(docker --help) 257
6.4 Docker命令实战:拉取镜像
(docker pull) 258
6.5 Docker命令实战:显示本机已有
镜像(docker images) 260
6.6 Docker命令实战:启动容器
(docker run) 260
6.7 Docker命令实战:查看运行中的
容器(docker ps) 262
6.8 Docker命令实战:在容器中
运行命令(docker exec) 262
6.9 Docker命令实战:停止容器
运行(docker stop) 263
6.10 Docker命令实战:启动/重启
容器(docker start/restart) 264
6.11 Docker命令实战:查看容器
元数据(docker inspect) 265
6.12 Docker命令实战:删除容器
(docker rm) 266
6.13 Docker命令实战:删除镜像
(docker rmi) 267
6.14 Docker命令实战:导出容器
(docker export) 267
6.15 Docker命令实战:从tar文件中
创建镜像(docker import) 269
第7章 Selenium自动化测试框架及其
应用 271
7.1 Selenium自动化测试框架 271
7.2 Selenium的历史版本及核心
组件 272
7.3 安装Selenium 277
7.4 Selenium的配置与第 一个
可运行的脚本 278
7.5 Selenium元素定位方法概述 281
7.6 根据id属性定位元素 282
7.7 根据name属性定位元素 287
7.8 根据class属性定位元素 290
7.9 根据标签定位元素 293
7.10 根据链接文本定位元素 296
7.11 根据部分链接文本定位元素 299
7.12 根据XPath定位元素 301
7.13 根据CSS定位元素 308
7.14 基于Docker和Selenium Grid的
测试技术的应用 311
7.15 基于Docker的Selenium Grid的
相关配置 312
7.16 基于Docker和Selenium Grid的
案例演示 314
第8章 Appium自动化测试框架及其
应用 321
8.1 Appium自动化测试框架 321
8.1.1 Appium的理念 321
8.1.2 Appium的设计 321
8.1.3 Appium的相关概念 322
8.1.4 Appium的工作原理 323
8.1.5 Appium与Selenium 324
8.2 Appium环境的搭建与配置
过程 324
8.2.1 在Windows环境中部署
Appium运行环境 324
8.2.2 Appium相关配置说明 349
8.3 定位Appium元素的3个利器 351
8.3.1 应用UI Automator Viewer
获得元素信息的实例 352
8.3.2 应用Inspector获得元素信息的
实例 357
8.3.3 应用ADB插件获得元素信息的
实例 375
8.4 获取应用包名和主活动名 379
8.4.1 根据APK包获得应用的包名和
主活动名 380
8.4.2 根据运行的应用获得应用包名和
主活动名 382
8.5 界面元素的定位 384
8.5.1 根据id定位元素 384
8.5.2 根据name定位元素 385
8.5.3 根据classname定位元素 387
8.5.4 根据content-desc定位元素 391
8.5.5 根据XPath定位元素 393
8.5.6 根据坐标操作元素 396
8.6 模拟各种手势操作 397
8.6.1 长按操作 398
8.6.2 拖曳操作 400
8.6.3 滑动操作 403
8.6.4 多点操作 406
8.6.5 手势密码 407
8.7 Appium的其他功能与案例演示 410
8.7.1 Appium的3种等待方式 410
8.7.2 断言在测试脚本中的应用 414
8.7.3 模拟操作系统按键 418
8.7.4 获取Toast元素的内容 422
8.7.5 模拟滚动条操作 424
8.7.6 捕获因界面元素定位失败
产生的异常 426
8.8 自动化测试模型 429
8.8.1 自动化测试模型概述 429
8.8.2 Page Object设计模式 437
8.9 基于Docker和模拟器的Appium
自动化测试 440
8.9.1 获取Appium Docker镜像并
启动Appium 440
8.9.2 模拟器的设置 442
8.9.3 将容器连接到模拟器 443
8.9.4 测试脚本 443
|
|