内容简介
第1章 自动化测试概述
1.1自动化测试概念
1.1.1 UI层自动化测试
1.1.2 Service层自动化测试
1.1.3 Unit层自动化测试
1.2自动化测试可行性
1.3自动化测试工具介绍
1.3.1 Unified Functional Testing
1.3.2 Robot Framework
1.3.3 Selenium
1.4自动化测试与质量的关系
1.5本章小结
第2章 配置编程环境
2.1 Windows操作系统安装Python 3.7.2
2.1.1下载Windows版Python
2.1.2安装Python
2.1.3验证Python环境
2.2 Linux操作系统安装Python 3.7.2
2.2.1下载Linux版Python
2.2.2安装Python
2.2.3验证Python环境
2.3安装Selenium
2.3.1安装Selenium
2.3.2验证Selenium模块
2.4浏览器驱动
2.4.1 Chrome浏览器驱动
2.4.2 Firefox浏览器驱动
2.4.3 IE浏览器驱动
2.5第一个小程序
2.6本章小结
第3章 Python基础
3.1 Python基础之列表
3.1.1创建列表
3.1.2访问列表
3.1.3修改列表
3.1.4列表排序
3.1.5遍历列表
3.1.6创建数值列表
3.1.7列表解析
3.1.8切片
3.1.9使用切片遍历列表
3.1.10使用切片复制列表
3.1.11使用切片反转列表
3.1.12其他切片操作
3.2 Python基础之元组
3.2.1创建元组并访问元素
3.2.2元组和列表转换
3.3 Python基础之字典
3.3.1创建字典并访问元素
3.3.2添加键值对
3.3.3修改字典中的值
3.3.4删除键值对
3.3.5遍历字典
3.3.6嵌套
3.4 Python基础之字符串
3.4.1字符串实操
3.4.2合并(拼接)字符串
3.4.3删除空白
3.5 Python基础之文件
3.5.1读取整个文件
3.5.2逐行读取
3.5.3使用文件的内容
3.6 Python基础之函数
3.6.1定义函数
3.6.2向函数传参
3.6.3返回值
3.7 Python基础之类
3.7.1创建和使用类
3.7.2继承
3.8本章小结
第4章 元素定位
4.1元素定位概述
4.1.1元素定位工具
4.1.2元素HTML定位
4.2元素ID定位
4.2.1语法
4.2.2代码示例
4.3元素Name定位
4.3.1语法
4.3.2代码示例
4.4元素Class定位
4.4.1语法
4.4.2代码示例
4.5元素Tag定位
4.5.1语法
4.5.2代码示例
4.6元素Link定位
4.6.1语法
4.6.2代码示例
4.7元素Partial Link定位
4.7.1语法
4.7.2代码示例
4.8元素XPath定位
4.8.1 XPath含义
4.8.2 XPath基本语法
4.8.3获取元素XPath
4.8.4代码示例
4.9元素CSS定位
4.9.1 CSS定位语法
4.9.2获取元素css selector
4.9.3代码示例
4.10 By方法定位
4.11本章小结
第5章 单元测试框架Unittest
5.1 Unittest简介
5.1.1 Unittest主要结构
5.1.2代码示例一
5.1.3代码示例二
5.1.4 Python知识点补充
5.2 Unittest之subTest()
5.2.1测试场景
5.2.2代码示例
5.3 Unittest常用断言
5.3.1断言方法
5.3.2代码示例
5.4 Unittest之装饰器
5.4.1装饰器代码示例
5.4.2自定义执行顺序代码示例
5.4.3非Unittest下的测试方法使用Unittest框架
5.5单元测试执行方式
5.5.1 Unittest.main()
5.5.2 TestLoader()
5.5.3 TestSuite().addTest(TestClass(TestMethod))
5.5.4 TestLoader().discover(“path”,“filesname”)
5.6 Unittest命令行执行测试
5.6.1执行测试模块/类/方法
5.6.2 Test Discovery
5.6.3 Unittest重要参数
5.6.4命令示例
5.7本章小结
第6章 单元测试框架Pytest
6.1 Pytest介绍
6.1.1安装Pytest
6.1.2查看Pytest
6.1.3 Pytest示例
6.1.4 Pytest规则
6.2 Pytest命令行执行测试
6.2.1查看Pytest参数
6.2.2 Pytest重要参数
6.3用例运行级别
6.4 Pytest测试报告
6.5本章小结
第7章 集成开发环境
7.1 PyCharm集成开发环境
7.1.1下载与安装
7.1.2创建项目
7.1.3环境验证
7.2 Eclipse集成开发环境
7.2.1下载与安装
7.2.2安装PyDev
7.2.3配置PyDev
7.2.4创建项目
7.2.5环境验证
7.3 Anaconda集成开发环境
7.3.1下载与安装
7.3.2创建新的Python环境
7.3.3环境验证
7.4本章小结
第8章 Page Object模式
8.1 PO模式简介
8.1.1非PO模式下的隐患
8.1.2 PO模式下的优势
8.2传统PO模式
8.2.1传统PO模式简介
8.2.2代码示例
8.2.3执行结果
8.3框架层PO模式
8.3.1框架层PO模式简介
8.3.2代码示例
8.3.3执行结果
8.4本章小结
第9章 HTML测试报告
9.1 HTMLTestRunner
9.1.1获取HTMLTestRunner模块
9.1.2 Python 3版本的HTMLTestRunner
9.1.3生成HTML测试报告代码示例
9.2 Allure
9.2.1 Allure模块及所需组件安装
9.2.2执行测试并生成结果
9.2.3安装Allure Command Line
9.2.4生成HTML测试报告代码示例
9.3 BeautifulReport
9.3.1获取BeautifulReport模块
9.3.2生成HTML测试报告代码示例
9.3.3 BeautifulReport深度使用
9.4本章小结
第10章 Python多线程
10.1单线程执行任务
10.2多线程和多进程
10.2.1多线程执行任务
10.2.2参数化多线程
10.2.3多进程执行任务
10.3本章小结
第11章 高级应用
11.1控制浏览器
11.1.1场景展示
11.1.2方法封装
11.1.3方法调用
11.1.4方法扩展
11.2模拟鼠标
11.2.1方法封装
11.2.2方法调用
11.3模拟键盘
11.3.1安装Pywin32
11.3.2方法封装
11.3.3方法调用
11.4 PyUserInput模拟鼠标键盘操作
11.4.1 PyUserInput安装
11.4.2 PyUserInput模拟键盘
11.4.3 PyUserInput模拟鼠标
11.5模拟剪切板
11.5.1方法封装
11.5.2方法调用
11.6等待元素
11.6.1强制等待
11.6.2隐式等待
11.6.3显式等待
11.6.4方法扩展
11.7处理Iframe控件
11.7.1方法封装
11.7.2方法调用
11.8处理弹窗控件
11.8.1方法封装
11.8.2方法调用
11.9处理下拉菜单控件
11.9.1方法封装
11.9.2方法调用
11.9.3方法扩展
11.10上传文件
11.10.1常规方法上传
11.10.2借助AutoIt实现上传
11.10.3模拟键盘实现上传
11.11日志
11.11.1方法封装
11.11.2方法调用
11.12处理Cookies
11.12.1方法封装
11.12.2方法调用
11.13借助JS完成任务
11.13.1方法封装
11.13.2方法调用
11.14处理表格
11.14.1方法封装
11.14.2方法调用
11.14.3思路扩展
11.15 处理多窗口
11.16页面截图
11.17兼容性测试方法
11.18杀浏览器进程
11.19禁用IE的保护模式
11.20屏蔽ignore-certificate-errors提示及禁用扩展插件
11.21禁用Firefox加载CSS/Flash/Image
11.22浏览器静默模式启动
11.23本章小结
第12章 数据驱动测试
12.1 Unittest&DDT
12.1.1安装DDT
12.1.2测试代码示例
12.2 Unittest&DDT&MySQL
12.2.1安装pymysql
12.2.2安装MySQL
12.2.3封装操作数据库方法
12.2.4测试数据分离
12.2.5封装方法验证
12.2.6测试代码示例
12.3 Unittest&DDT&XML
12.3.1数据XML
12.3.2封装解析XML文件方法
12.3.3测试代码示例
12.4 Unittest&DDT&JSON
12.4.1列表数据
12.4.2字典数据
12.5 Unittest&DDT&Excel
12.5.1安装openpyxl
12.5.2 Excel格式数据
12.5.3封装解析Excel文件方法
12.5.4测试代码示例
12.6 Unittest&parameterized
12.6.1安装parameterized
12.6.2测试代码示例
12.7本章小结
第13章 辅助工具介绍
13.1 Selenium IDE
13.1.1 Selenium IDE下载
13.1.2 Selenium IDE录制与回放
13.2 Katalon Recorder
13.2.1 Katalon Recorder下载
13.2.2 Katalon Recorder录制与回放
13.2.3测试脚本导出
13.3 ChroPath
13.3.1获取ChroPath
13.3.2 ChroPath获取XPath和CSS定位
13.4本章小结
第14章 Jenkins持续集成
14.1 Jenkins安装
14.2配置Jenkins
14.3 Jenkins创建任务
14.4配置Github
14.5本章小结
第15章 Selenium Grid分布式自动化测试
15.1环境准备
15.1.1下载并配置JDK
15.1.2下载并运行selenium-server-standalone
15.2 HUB与Node
15.2.1启动HUB
15.2.2启动Node
15.3环境验证
15.4本章小结