第一篇 环境篇
第1章 自动化测试简介
1.1 什么是自动化测试
1.2 自动化测试的分类
1.3 自动化测试项目的适用条件
1.4 自动化测试总结
1.5 为什么选择Selenium
1.5.1 Selenium的特性
1.5.2 Selenium的发展
第2章 Selenium IDE的使用
2.1 Selenium IDE
2.1.1 Selenium IDE的安装步骤
2.1.2 Selenium IDE的功能界面与工具栏
2.1.3 Selenium IDE脚本
2.1.4 wait for text、assert text和verify text命令
2.1.5 通过实例讲解store title和echo命令
2.2 从Selenium IDE导出脚本
第3章 Python与Selenium环境搭建
3.1 Windows环境下的安装
3.1.1 安装Python
3.1.2 安装Selenium
3.1.3 安装开发工具和IDE
3.1.4 搭建不同的浏览器环境
3.2 macOS环境下的安装
3.2.1 安装Python
3.2.2 安装Selenium
3.2.3 浏览器的驱动
第二篇 基础篇
第4章 Selenium元素定位
4.1 Python基础知识
4.1.1 数字类型
4.1.2 字符串类型
4.1.3 常用的判断与循环语句
4.1.4 列表对象
4.2 Selenium八大定位
4.2.1 id定位
4.2.2 name定位
4.2.3 class定位
4.2.4 link_text定位
4.2.5 partial_link_text定位
4.2.6 CSS定位
4.2.7 XPath定位
4.2.8 tag_name定位
4.3 表格定位
4.3.1 遍历表格单元格
4.3.2 定位表格中的特定元素
4.3.3 定位表格中的子元素
4.4 关联元素定位策略
4.4.1 Above模式
4.4.2 Below模式
4.4.3 Left of模式
4.4.4 Right of模式
4.4.5 Near模式
4.4.6 Chaining relative locators模式
第5章 Selenium常用方法
5.1 基本方法
5.2 特殊元素定位
5.2.1 鼠标事件操作
5.2.2 常用的键盘事件
5.2.3 Select操作
5.2.4 定位一组元素
5.3 Frame操作
5.4 上传与下载附件
5.4.1 上传附件操作方式一
5.4.2 上传附件操作方式二
5.4.3 上传附件操作方式三
5.4.4 下载附件
5.5 Cookie操作
5.6 驱动管理模式
5.7 颜色验证
5.8 3种等待模式
5.8.1 强制等待模式
5.8.2 隐式等待模式
5.8.3 显式等待模式
5.9 多窗口切换
5.10 弹框操作
5.11 ChromeOptions
5.12 滑块操作
5.13 元素截图
5.14 JavaScript操作页面元素
5.15 jQuery操作页面元素
5.16 innerText与innerHTML
5.17 通过源码理解By.ID
第三篇 项目篇
第6章 项目实战
6.1 项目需求分析汇总
6.1.1 制订项目计划
6.1.2 编写测试用例
6.2 业务场景的覆盖与分拆
6.2.1 逐个分析页面元素
6.2.2 分层创建脚本
6.3 项目代码总结
第7章 项目重构与代码优化
7.1 项目重构
7.1.1 元素定位方法优化
7.1.2 新增岗位优化
7.1.3 代码分层优化
7.1.4 三层架构
7.2 代码优化
7.2.1 无人值守自动化
7.2.2 等待时间优化
第8章 数据驱动测试
8.1 一般文件操作
8.1.1 文本文件操作
8.1.2 CSV文件操作
8.1.3 Excel文件操作
8.1.4 JSON文件操作
8.1.5 XML文件操作
8.1.6 YAML文件操作
8.1.7 文件夹操作
8.2 通过Excel参数,实现参数与脚本的分离
8.2.1 创建Excel文件,维护测试数据
8.2.2 Framework Log设置
8.2.3 初步实现数据驱动
8.3 数据驱动框架DDT
8.3.1 单元测试
8.3.2 数据驱动框架应用
8.3.3 DDT+Excel实现循环测试
第9章 Page Object设计模式
9.1 什么是Page Object
9.2 Page Object实战
9.2.1 Common层代码分析
9.2.2 Base层代码分析
9.2.3 PageObject层代码分析
9.2.4 TestCases层代码分析
9.2.5 Data层分析
9.2.6 Logs层分析
9.2.7 Reports层分析
9.2.8 其他分析
9.2.9 执行Page Object项目
第10章 pytest框架实战
10.1 pytest与Allure
10.1.1 pytest的安装
10.1.2 简单测试案例介绍
10.1.3 引入类来管理测试方法
10.1.4 setup和teardown方法应用
10.1.5 fixtures功能应用
10.1.6 pytest如何做参数化
10.1.7 conftest应用
10.1.8 运行Selenium
10.1.9 使用pytest生成测试报告
10.1.10 集成Allure报告
10.2 使用pytest重构项目
第11章 行为驱动测试
11.1 安装环境
11.2 行为驱动之小试牛刀
11.3 基于Selenium的行为驱动测试
11.4 结合Page Object的行为驱动测试
第四篇 平台篇
第12章 测试平台维护与项目部署
12.1 Git应用
12.1.1 安装Git
12.1.2 Git常用操作
12.1.3 运用GitHub
12.2 安装Jenkins
12.3 配置Jenkins
12.4 Jenkins应用
12.4.1 自由风格项目介绍
12.4.2 Jenkins Pipeline
12.5 完整的Jenkins自动化实例
12.6 项目部署
12.6.1 获取当前环境模块列表
12.6.2 安装项目移植所需的模块
第13章 Docker容器技术与多线程测试
13.1 Docker简介
13.2 Docker的一般应用场景
13.3 Docker的安装和简单测试
13.3.1 Docker的安装
13.3.2 Docker的简单测试
13.4 Python多线程介绍
13.4.1 一般方式实现多线程
13.4.2 用可调用类作为参数实例化Thread类
13.4.3 Thread类派生子类(重写run方法)
13.5 使用Docker容器技术进行多线程测试
13.5.1 Selenium Grid
13.5.2 安装需要的镜像
13.5.3 启动Selenium Hub
13.5.4 启动Selenium Node
13.5.5 查看Selenium Grid Console界面
13.5.6 Docker环境下多线程并发执行Selenium Grid测试