目录


本书源代码


第1章自动化测试简介

1.1什么是自动化测试

1.2UI自动化测试应用场景

1.3UI自动化测试工具及框架

1.4本章总结

第2章Windows系统下环境搭建(8min)

2.1Python安装

2.2PyCharm安装

2.3PyCharm新建工程

2.4Python第1行代码

2.5本章总结

第3章Python基础(211min)

3.1Python命名规则

3.2Python注释

3.3Python变量和数据类型

3.3.1常用变量定义

3.3.2变量数据类型分类

3.4Python运算符

3.4.1算术运算符

3.4.2比较运算符

3.4.3逻辑运算符

3.4.4成员运算符

3.4.5身份运算符

3.5Python字符串

3.5.1字符串定义

3.5.2字符串拼接

3.5.3字符串分割

3.5.4字符串替换

3.5.5字符串删除前后空格

3.5.6字符串大小写

3.6Python元组

3.6.1元组定义

3.6.2元组访问

3.6.3元组遍历

3.6.4字符串切片

3.7Python列表

3.7.1列表定义及访问

3.7.2列表增、删、改操作

3.7.3列表遍历






3.8Python集合

3.8.1集合定义及访问

3.8.2集合应用

3.8.3元组列表集合的区别

3.9Python字典

3.9.1字典定义

3.9.2字典访问

3.9.3字典增、删、改操作

3.9.4字典遍历

3.10Python分支和循环

3.10.1分支

3.10.2循环

3.10.3分支循环综合应用

3.11Python方法

3.11.1Python方法简介

3.11.2Python程序入口

3.11.3Python模块导入

3.11.4无参数无返回值方法

3.11.5有位置参数和一个返回的方法

3.11.6有多个返回的方法

3.11.7默认值参数方法

3.11.8可变参数方法

3.11.9关键字参数方法

3.11.10参数的混合使用

3.12Python类

3.12.1类的定义

3.12.2类的构造方法

3.12.3类的继承

3.12.4类的方法重写

3.12.5类的多继承

3.13Python模块包安装

3.13.1pip安装简介

3.13.2PyCharm命令行安装模块包

3.13.3PyCharm图形化安装模块包

3.14Python的异常

3.14.1Python异常捕获

3.14.2Excel操作及异常捕获

3.15装饰器

3.15.1不使用装饰器

3.15.2无参装饰器

3.15.3有参装饰器

3.16Python多线程

3.16.1创建线程

3.16.2join()方法

3.16.3线程方法传参

3.16.4创建多个线程

3.17本章总结

第4章前端基础(17min)

4.1HTML标签及属性

4.2测试项目介绍

4.2.1ElementUI介绍

4.2.2测试项目介绍

4.3本章总结

第5章Selenium WebDriver基础(43min)

5.1Selenium简介

5.1.1Selenium测试准备

5.1.2Selenium工具介绍

5.1.3Selenium WebDriver原理

5.1.4Selenium Grid原理

5.2WebDriver浏览器操作

5.2.1启动浏览器

5.2.2导航到网页

5.2.3最大化浏览器

5.2.4关闭浏览器

5.2.5总结

5.3WebDriver元素定位

5.3.1开发者工具

5.3.2id属性定位

5.3.3name属性定位

5.3.4class属性定位

5.3.5CSS选择器定位

5.3.6link text定位

5.3.7partial link text定位

5.3.8tag name定位

5.3.9xpath表达式定位

5.3.10By模块定位

5.3.11定位多个元素

5.3.12XPath插件

5.4WebDriver基本操作

5.4.1输入操作

5.4.2单击操作

5.4.3下拉列表操作

5.4.4文件上传操作

5.4.5ActionChains操作

5.4.6悬停操作

5.4.7窗口切换操作

5.4.8iframe切换操作

5.4.9JavaScript弹框操作

5.4.10JavaScript操作

5.4.11获取属性值与断言

5.4.12下载文件操作

5.5WebDriver元素等待

5.5.1强制等待

5.5.2隐式等待

5.5.3显式等待

5.6WebDriver鼠标操作

5.7WebDriver键盘操作

5.8本章总结

第6章Selenium WebDriver实战(91min)

6.1登录实战

6.1.1登录代码分析

6.1.2登录代码实战

6.2新增用户实战

6.2.1菜单栏代码分析

6.2.2新增按钮代码分析

6.2.3新增用户代码分析

6.2.4新增用户代码实战

6.3查询用户实战

6.3.1查询用户代码分析

6.3.2查询用户代码实战

6.4修改用户实战

6.4.1修改用户代码分析

6.4.2修改用户代码实战

6.5删除用户实战

6.5.1删除用户代码分析

6.5.2删除用户代码实战

6.6窗口操作实战

6.6.1窗口代码分析

6.6.2窗口代码实战

6.7上传文件实战

6.7.1上传文件代码分析

6.7.2上传文件代码实战

6.8本章总结

第7章关键字驱动封装(15min)

7.1初始化封装

7.1.1单浏览器封装

7.1.2多浏览器封装

7.2等待封装

7.2.1等待代码回顾

7.2.2等待代码封装

7.3基础操作封装

7.3.1登录代码回顾

7.3.2基础操作封装

7.4iframe切换封装

7.4.1iframe代码回顾

7.4.2iframe代码封装

7.5窗口切换封装

7.5.1窗口切换代码回顾

7.5.2窗口切换代码封装

7.6悬停操作封装

7.6.1悬停代码回顾

7.6.2悬停代码封装

7.7获取元素文本封装

7.7.1获取文本代码回顾

7.7.2获取文本代码封装

7.8断言封装

7.8.1断言代码回顾

7.8.2断言代码封装

7.9关闭窗口封装

7.9.1关闭窗口代码回顾

7.9.2关闭窗口代码封装

7.10异常捕获

7.10.1页面跳转异常

7.10.2页面跳转异常捕获

7.10.3显式等待异常

7.10.4显式等待异常捕获

7.11本章总结

第8章PageObject封装(8min)

8.1PageObject模式简介

8.2登录PO封装

8.2.1登录代码回顾

8.2.2登录封装

8.2.3登录校验

8.3账号管理PO封装

8.3.1进入账号管理页面封装

8.3.2新增用户封装

8.3.3查询用户封装

8.3.4编辑用户封装

8.3.5删除用户封装

8.4外链测试PO封装

8.4.1外链测试封装

8.4.2外链测试封装的使用

8.5上传文件PO封装

8.5.1上传文件封装

8.5.2上传文件封装的使用

8.6本章总结

第9章Unittest封装(62min)

9.1Unittest基础

9.2计算器单元测试

9.2.1开发代码

9.2.2单元测试代码

9.3Unittest详解

9.3.1TestFixture

9.3.2TestCase

9.3.3TestSuite

9.3.4TestRunner

9.3.5用例执行顺序

9.3.6跳过用例

9.3.7断言

9.4登录用例封装

9.4.1登录用例代码回顾

9.4.2登录用例的主要功能

9.4.3登录用例的执行

9.4.4登录失败用例封装

9.4.5登录失败用例的执行

9.5账号管理用例封装

9.5.1基于setUp()和tearDown()封装

9.5.2基于setUpClass()和tearDownClass()封装

9.6外链测试用例封装

9.6.1准备和还原封装

9.6.2外链查询用例封装

9.6.3外链查询用例的执行

9.7上传文件用例封装

9.7.1准备和还原封装

9.7.2上传文件用例封装

9.7.3上传文件用例的执行

9.8本章总结

第10章数据驱动封装(20min)

10.1数据驱动基础

10.1.1DDT安装

10.1.2DDT简单使用

10.2登录封装

10.2.1LoginPage类方法优化

10.2.2LoginCase类用例优化

10.2.3LoginCase类数据驱动

10.3账号管理封装

10.3.1数据文件准备

10.3.2UserManageCase类数据驱动

10.3.3UserManagePage类优化

10.4外链测试封装

10.4.1数据文件准备

10.4.2IframeCase类数据驱动

10.5文件上传封装

10.5.1数据文件准备

10.5.2UploadFileCase类数据驱动

10.6本章总结

第11章测试框架封装优化(16min)

11.1BaseCase封装

11.1.1setUp()回顾

11.1.2setUp()封装

11.1.3setUp()封装使用

11.1.4setUpClass()回顾

11.1.5setUpClass()封装

11.1.6setUpClass()封装使用

11.2配置文件

11.2.1配置文件基础

11.2.2BaseCase类配置文件

11.2.3configparser模块获取配置文件

11.2.4configparser模块封装

11.2.5BaseCase类优化

11.3Log封装

11.3.1Logging模块简介

11.3.2Logging模块的使用

11.3.3Logging配置文件

11.3.4Logger封装

11.3.5Logger封装的使用

11.4HTMLTestRunnerCN报告

11.4.1HTMLTestRunnerCN下载

11.4.2HTMLTestRunnerCN的使用

11.5Yagmail发送邮件

11.5.1Yagmail简介

11.5.2Yagmail封装

11.6报告和邮件整合

11.6.1报告和邮件整合封装

11.6.2报告和邮件整合封装应用

11.7Unittestreport基础

11.7.1执行用例生成报告

11.7.2失败用例重试

11.7.3并发执行用例

11.7.4发送邮件

11.7.5发送钉钉群消息

11.8Unittestreport封装

11.9本章总结

第12章Selenium Grid实战

12.1Java环境搭建

12.1.1Java简介

12.1.2JDK安装

12.1.3环境变量设置

12.2Grid基础

12.2.1Grid下载

12.2.2启动hub

12.2.3启动node

12.2.4脚本运行

12.2.5多线程

12.3Grid实战

12.3.1修改run()方法

12.3.2修改BaseCase类

12.3.3修改MyDriver类

12.3.4修改测试用例类

12.3.5Grid实战总结

12.4本章总结

第13章Gitee代码管理

13.1Gitee基础

13.1.1Gitee注册

13.1.2Gitee配置SSH公钥

13.1.3Gitee新建仓库

13.2Git基础

13.2.1Git下载并安装

13.2.2Git命令

13.3PyCharm中Git操作

13.3.1PyCharm安装Gitee插件

13.3.2PyCharm添加Gitee账号

13.3.3PyCharm创建Git仓库

13.3.4PyCharm将文件上传到Gitee

13.4本章总结

第14章Jenkins持续集成

14.1Jenkins安装

14.2Jenkins工作目录

14.3Jenkins拉取代码

14.3.1新建Gitee工程

14.3.2安装Gitee插件

14.3.3配置Gitee

14.3.4获取Gitee私人令牌

14.3.5新建Jenkins项目

14.4Jenkins定时构建

14.5Jenkins部署测试框架

14.5.1框架代码部署分析

14.5.2Jenkins构建命令编写

14.5.3框架代码报错分析

14.6Jenkins远程部署

14.6.1Windows远程服务器安装SSH服务

14.6.2Jenkins安装SSH插件

14.6.3Jenkins远程部署

14.7本章总结