适读人群 :本书适合从事自动化测试开发技术的广大开发和测试人员使用,也可供产品测试开发管理人员参考。
自动化测试平台测试开发是指开发一个平台系统,结合相关的开源自动化框架进行集成,如 Selenium 等,然后在该系统 上进行接口自动化测试、App 自动化测试、WebUI 自动化测试、性能测试等,总体而言,开发出来的自动化平台能使自动化测试更高效、更务实、更可视化、更简洁。
内容简介
本书详细介绍了基于 Python 语言的自动化平台开发以及自动化测试技术知识。本书理论与实践相结合,以自动化平台开发为主线、自动化测试为辅线贯穿所有内容。具体包括自动化平台开发方案、数据库表结构设计、前后端代码编写,同时介绍了自动化测试方案、环境、代码、报告、API 接口、AppUI、WebUI 自动化测试、性能测试等内容。本书适合从事自动化测试开发技术的广大开发和测试人员使用,也可供产品测试开发管理人员参考。
目录
第 1 章 Python 零基础入门 .... 1
1 . 1 Python 介绍 ... 1
1 . 2 环境搭建 ... 1
1 . 2 . 1 安装 JDK 1 . 7 ... 2
1 . 2 . 2 安装 Eclipse ... 2
1 . 2 . 3 安装配置 Python 3 ... 2
1 . 2 . 4 安装 PyDev ... 3
1 . 2 . 5 配置 PyDev ... 3
1 . 2 . 6 新建一个项目工程 ... 5
1 . 3 基础知识 ... 6
1 . 3 . 1 语句与语法 ... 6
1 . 3 . 2 数据类型 ... 7
1 . 3 . 3 运算符和表达式 ... 8
1 . 3 . 4 变量和赋值 ... 8
1 . 3 . 5 基本控制流程 ... 8
1 . 3 . 6 类和对象 ... 9
1 . 3 . 7 函数 ... 9
1 . 3 . 8 模块导入和包导入 ... 10
1 . 3 . 9 异常处理 ... 10
1 . 4 实例讲解 ... 10
1 . 4 . 1 文件操作实例 ... 10
1 . 4 . 2 数据库操作实例 ... 11
第 2 章 Web 应用框架 ... 13
2 . 1 介绍 ... 13
2 . 2 环境搭建 ... 13
2 . 3 Django 开发入门... 14
2 . 3 . 1 创建项目 ... 15
2 . 3 . 2 启动服务 ... 15
2 . 3 . 3 创建应用 ... 18
2 . 3 . 4 创建视图 ... 19
2 . 3 . 5 创建映射 ... 19
2 . 3 . 6 创建模板 ... 20
2 . 4 MySQL 数据库使用 ... 21
第 3 章 自动化平台开发 ... 26
3 . 1 自动化平台开发方案 ... 26
3 . 1 . 1 功能需求 ... 26
3 . 1 . 2 技术知识点 ... 27
3 . 1 . 3 开发时间计划 ... 28
3 . 1 . 4 投资回报率可视化(见表 3 . 2 ) ... 28
3 . 1 . 5 后期优化计划 ... 29
3 . 2 登录功能实现 ... 29
3 . 3 退出功能实现 ... 33
3 . 4 权限功能操作 ... 34
3 . 5 产品管理模块开发 ... 36
3 . 5 . 1 产品管理数据库设计 ... 36
3 . 5 . 2 产品管理功能后台开发 ... 36
3 . 5 . 3 产品管理功能前端开发 ... 37
3 . 6 接口自动化模块开发 ... 40
3 . 6 . 1 接口管理数据库设计 ... 40
3 . 6 . 2 流程接口管理功能后台开发 ... 41
3 . 6 . 3 流程接口展示功能前端开发 ... 47
3 . 6 . 4 单一接口管理功能后台开发 ... 52
3 . 6 . 5 单一接口展示功能前端开发 ... 54
3 . 7 Bug 管理模块开发 ... 57
3 . 7 . 1 Bug 管理数据库设计 ... 57
3 . 7 . 2 Bug 管理后端开发 ... 57
3 . 7 . 3 Bug 管理前端开发 ... 58
3 . 8 系统设置模块开发 ... 60
3 . 8 . 1 系统设置数据库设计 ... 60
3 . 8 . 2 系统设置后台开发 ... 61
3 . 8 . 3 系统设置前端开发 ... 62
3 . 9 App 自动化模块开发 ... 66
3 . 9 . 1 App 用例管理数据库设计 ... 66
3 . 9 . 2 App 用例管理功能后台开发 ... 67
3 . 9 . 3 App 用例管理功能前端开发 ... 70
3 . 10 Web 自动化模块开发 ... 74
3 . 10 . 1 Web 用例管理数据库设计 ... 74
3 . 10 . 2 Web 用例管理功能后台开发 ... 75
3 . 10 . 3 Web 用例管理功能前端开发 ... 78
3 . 11 测试报告模块前端开发... 81
3 . 11 . 1 单一接口测试报告 ... 81
3 . 11 . 2 流程接口测试报告 ... 83
3 . 11 . 3 AppUI 测试报告 ... 98
3 . 11 . 4 WebUI 测试报告... 105
3 . 12 自动化平台前端优化 ... 109
3 . 12 . 1 HTML 简要知识 ... 109
3 . 12 . 2 主页面优化 1 ... 110
3 . 12 . 3 前端搜索功能实现 ... 129
3 . 12 . 4 前端翻页功能实现 ... 135
3 . 12 . 5 数据统计功能实现 ... 150
3 . 12 . 6 添加数据功能实现 ... 153
3 . 12 . 7 编辑数据功能实现 ... 159
3 . 12 . 8 删除数据功能实现 ... 161
3 . 12 . 9 主页面优化 2 ... 164
3 . 12 . 10 主页面优化 3 ... 167
3 . 12 . 11 主页面优化 4 ... 171
第 4 章 正则表达式 ... 178
4 . 1 为什么要用正则表达式 ... 178
4 . 2 正则表达式元字符及其作用 ... 178
4 . 3 正则表达式字符串匹配示例 ... 179
4 . 4 Python 正则表达式使用介绍 ... 180
4 . 5 正则表达式源码详解 ... 180
4 . 5 . 1 正则表达式实例 1 ... 180
4 . 5 . 2 正则表达式实例 2 ... 181
4 . 5 . 3 正则表达式实例 3 ... 182
第 5 章 单元测试 ... 183
5 . 1 Unittest 单元测试 ... 183
5 . 2 Django 单元测试... 185
第 6 章 接口自动化测试 ... 188
6 . 1 接口概述 ... 188
6 . 1 . 1 接口示例 ... 188
6 . 1 . 2 接口工具 ... 189
6 . 1 . 3 JSON 数据 ... 189
6 . 1 . 4 接口文档 ... 189
6 . 2 接口测试用例设计 ... 190
6 . 3 环境准备 ... 191
6 . 4 接口自动化测试源码详解 ... 192
6 . 4 . 1 接口自动化测试实例 1 ... 192
6 . 4 . 2 接口自动化测试实例 2 ... 195
第 7 章 App 自动化测试 ... 204
7 . 1 概述 ... 204
7 . 2 风险分析 ... 204
7 . 3 软硬件需求 ... 205
7 . 4 测试计划 ... 205
7 . 5 Appium 移动自动化框架 ... 206
7 . 6 环境搭建 ... 210
7 . 7 App 自动化测试源码详解 ... 213
7 . 7 . 1 App 自动化测试实例 1 ... 213
7 . 7 . 2 App 自动化测试实例 2 ... 214
第 8 章 Web 自动化测试 ... 218
8 . 1 Selenium 介绍 ... 218
8 . 2 环境搭建 ... 219
8 . 3 Web 自动化测试源码详解 ... 219
8 . 3 . 1 Web 自动化测试实例 1 ... 219
8 . 3 . 2 Web 自动化测试实例 2 ... 221
第 9 章 性能测试 ... 226
9 . 1 环境搭建 ... 226
9 . 2 使用入门 ... 227
第 10 章 持续集成 ... 230
10 . 1 介绍 ... 230
10 . 2 系统配置 ... 233
10 . 3 项目配置 ... 235
10 . 4 多机器节点配置 ... 240
10 . 5 结果展示视图 ... 242
第 11 章 定时任务开发 ... 244
11 . 1 环境搭建 ... 244
11 . 2 前端功能实现 ... 247
11 . 3 定时任务测试源码 ... 253
11 . 3 . 1 接口扫描自动化测试源码 ... 253
11 . 3 . 2 流程接口自动化测试源码 ... 258
11 . 3 . 3 App 自动化测试源码 ... 265
11 . 3 . 4 Web 自动化测试源码 ... 266
11 . 4 定时任务调用 ... 267
附录 A 常用软件安装包链接 ... 270
附录 B Autotestplat 使用指南 ... 272
后记 ... 274
查看全部↓
前言 /序言
前 言
目前,虽然测试开发在软件测试行业被广泛应用,但其在企业中的投资回报率( ROI )并不是非常理想,尤其在中小企业中尤为突出。究其原因,有自动化脚本维护困难、投入大、自动化用例不直观、自动化框架不适用、不稳定误报率大、前端 UI 变动较大且频繁等。因此,很多中小企业的自动化尚处于演示版本摸索的状态。一些大企业有资金、人力、技术的支撑,进而自主研发了主流技术,包括自动化测试平台。加之其项目非常多,投入长时间的研发能够产生实际投资回报率,因此持续投入使用的时间也很长。对于中小型的互联网企业,根据企业人员规模、管理观念、公司实力、技术水平等情况,也比较倾向于自主研发和使用自动化测试平台。
自动化平台测试开发是指开发一个平台系统,然后在该系统上进行接口自动化测试、App 自动化测试、WebUI 自动化测试、性能测试等;当然,也需要结合已有的相关开源自动化框架进行集成,包括自动化脚本、Appium、Selenium、Locust 等开源框架。总体而言,开发出来的自动化平台能使自动化测试更高效、更务实、更直观、更可视化、更简洁。
近年来,开发技术发展到了人工智能、大数据、云计算等阶段,测试也将不仅仅停留在功能测试方面,会有开发技术和测试技术融合之势。
为了满足广大自动化测试开发技术人员的需求,笔者特编写本书,希望能给读者提供一个操作实用指南。本书内容所涉及技术均基于 Python 语言编写,书中的源码在保留版权的情况下可供读者使用,读者使用源码时需要注明出自本书。
读者学习时可能会觉得比较枯燥乏味,但当你掌握了一个技术点,开发出一个功能并解决了某个问题的时候,一定会很有成就感。当遇到解决不了的问题时,多尝试、多思考、多学习、多看书、多提问,相信一定能解决。
适合读者
绝大多数适用的读者
所有软件测试从业人员,包括测试团队的管理者。
有一定开发语言基础的测试人员。
少部分适用的读者
软件测试专业的在校学生。
软件技术、移动互联网相关人员,包括开发人员、研发团队管理者等。
对自动化平台测试开发感兴趣的人。
作者简介
本书作者具有丰富的软件测试从业经验并擅长自动化测试框架开发和测试技术,著有
《软件自动化测试开发》一书。
大纲内容
第 1~2 章:介绍 Python 开发语言、Web 开发、MySQL 数据库。
第 3 章:介绍自动化平台相关功能的开发,是本书的核心内容。
第 4~5 章:介绍正则表达式和单元测试知识。
第 6~8 章:介绍自动化测试知识。
第 9~11 章:介绍性能测试、持续集成、定时任务进行全自动化测试。