课程试听
阶段一 测试基础
展开第一章 计算机基础V2.0

1-1 计算机基础

- 01_今日课程介绍 免费试学
- 02_计算机的基本介绍 免费试学
- 03_计算机硬件系统 免费试学
- 04_计算机软件系统 免费试学
- 05_进制基本介绍 免费试学
- 06_编码和计量单位 免费试学
- 07_dos命令01 免费试学
- 08_dos命令02 免费试学
- 09_dos命令02 免费试学
- 10_dos命令03 免费试学
- 11_dos命令04 免费试学
- 12_dos命令05 免费试学
第二章 WEB网站与HTML

2-1 HTML标签和语法

- 13_前端html课程介绍 免费试学
- 14_名词介绍 免费试学
- 15_html简介 免费试学
- 16_html骨架 免费试学
- 17_换行和空格 免费试学
- 18_标题和段落标签 免费试学
- 19_文字标签 免费试学
- 20_结构标签和注释 免费试学
- 21_图片标签基础用法 免费试学
- 22_图片标签属性详解 免费试学
- 02_路径 免费试学
- 01_作业 免费试学
- 23_复习总结 免费试学
- 03_超链接 免费试学
2-2 表单

- 04_表单标签 免费试学
- 05_文本框、密码框 免费试学
- 06_单选按钮 免费试学
- 07_复选框 免费试学
- 08_下拉菜单 免费试学
- 09_文本域 免费试学
- 10_按钮 免费试学
- 11_默认选中状态 免费试学
- 12_表单总结 免费试学
- 13_列表标签 免费试学
第三章 CSS2.0及选择器

3-1 CSS语法和特性

- 14_css基础语法 免费试学
- 15_标签选择器 免费试学
- 16_id选择器 免费试学
- 17_class类选择器 免费试学
- 18_继承性、覆盖性 免费试学
第四章 HTML与CSS3

4-1 复合选择器与权重

- 19_后代选择器 免费试学
- 20_并列、并集选择器 免费试学
- 01_基础选择器权重 免费试学
- 02_复合选择器权重 免费试学
- 03_外链式 免费试学
- 04_行内css和三种方式总结 免费试学
- 05_引入方式的权重对比 免费试学
- 06_google案例 免费试学
4-2 盒子模型

- 07_盒子模型-边框 免费试学
- 08_盒子模型-内边距、内填充、padding 免费试学
- 09_盒子模型-外边距、外填充、margin 免费试学
4-3 音频视频标签

- 10_html5结构标签 免费试学
- 11_数据列表标签 免费试学
- 12_html5新增表单验证属性 免费试学
- 13_html5新增表单标签 免费试学
- 14_html5音频标签 免费试学
- 15_html5视频标签 免费试学
4-4 css3新特性

- 16_css3圆角属性 免费试学
- 01_渐变色背景 免费试学
- 02_css3盒子阴影 免费试学
- 03_css3透明背景 免费试学
- 04_文字阴影属性 免费试学
- 06_css3过渡属性 免费试学
- 07_css3过渡练习 免费试学
- 05_css3旋转、缩放、位移 免费试学
- 08_css3会旋转的头像 免费试学
- 09_图片放大并旋转 免费试学
- 10_x轴y轴旋转 免费试学
- 11_css3自定义动画基础 免费试学
- 12_css3自定义动画练习 免费试学
第五章 软件质量模型

5-1 JavaScript语法1

- 13_js简介 免费试学
- 14_js基础语法 免费试学
- 15_js找元素、标签、标记 免费试学
- 16_js实体化三属性 免费试学
- 17_js变量简化代码 免费试学
- 18_js事件01 免费试学
- 19_js事件02 免费试学
- 01_找元素的其它方法 免费试学
5-2 JavaScript语法2

- 02_js其它事件 免费试学
- 03_js书写位置 免费试学
- 01_js代码搬家 免费试学
- 02_动态添加、删除 免费试学
- 03_自定义函数(方法)语法 免费试学
- 04_xml基础知识 免费试学
5-3 软件基础知识

- 04_软件测试行业基本介绍 免费试学
- 06_bs和cs架构 免费试学
- 05_软件测试概念 免费试学
- 07_浏览器和图片类型 免费试学
- 08_服务器、域名 免费试学
- 09_瀑布模型 免费试学
- 10_测试v模型 免费试学
- 11_w双v模型 免费试学
- 12_测试分类 免费试学
- 13_网络基本概念 免费试学
- 14_http协议 免费试学
- 15_请求内容 免费试学
- 16_get、post方法 免费试学
- 17_响应内容 免费试学
- 18_状态码 免费试学
- 19_api接口 免费试学
- 20_接口和客户端功能测试的关系 免费试学
- 21_黑马app测试计划 免费试学
- 22_黑马app测试报告 免费试学
阶段二 Linux和数据库
展开第一章 操作系统基础

1-1 操作系统基础知识

- 01_什么是操作系统
- 02_虚拟机简介
1-2 Linux系统介绍

- 03_Linux的内核版和发行版
- 04_Linux系统下的文件目录结构
- 05_Ubuntu系统目录结构演示和简介
- 06_Linux命令-01-明确学习目标
- 07_Linux命令_02_明确6个常见终端命令的操作效果
- 08_Linux命令_03_6个常见终端命令简单演练
- 09_Linux命令_04-终端命令格式
- 10_Linux命令_05_查阅终端命令帮助信息
第二章 文件和目录操作

2-1 文件及目录操作

- 11_文件和目录命令_01_明确命令分类和学习目标
- 12_文件和目录命令_02_分享自动补全和命令选择技巧
- 13_文件和目录命令_03_查看隐藏文件和返回上一级目录
- 14_文件和目录命令_04_ls的列表和文件大小选项
- 15_文件和目录命令_05_ls和通配符的联合使用
- 16_文件和目录命令_06_通配符的字符组
- 17_文件和目录命令_07_cd命令的常用参数
- 18_文件和目录命令_08_相对路径和绝对路径
- 19_文件和目录命令_09_touch和mkdir命令的扩展
- 20_文件和目录命令_10_rm命令的扩展
- 21_拷贝和移动命令_01_目标确定和图形界面演示
- 22_拷贝和移动命令_02_tree以树状图查看目录结构
- 23_拷贝和移动命令_03_cp命令复制文件
- 24_拷贝和移动命令_04_cp命令-i选项覆盖前提示
- 25_拷贝和移动命令_05_cp命令-r选项复制目录
- 26_拷贝和移动命令_06_mv命令移动文件或者目录
- 27_拷贝和移动命令_07_mv命令给文件或者目录重命名
- 28_文件内容命令_01_cat和more的基本使用和对比
- 29_文件内容命令_02_grep查找文件内容
- 30_文件内容命令_03_grep行首/行尾的模式查找
- 31_其他命令_01_echo和重定向
- 32_其他命令_02_管道的概念和基本使用
第三章 远程管理命令

3-1 关机和重启

- 33_远程管理命令_01_关机和重启
3-2 设置网络信息、判断网络连接状态

- 34_远程管理命令_02_网卡和IP地址的概念
- 35_远程管理命令_03_ifconfig和ping作用的介绍
- 36_远程管理命令_04_ifconfig查询网卡信息
- 37_远程管理命令_05_ping测试网络连接
3-3 SSH服务

- 38_远程管理命令_06_SSH工作方式简介
- 39_远程管理命令_07_域名和端口号的概念
- 40_远程管理命令_08_ssh命令格式介绍和演练目标确定
- 41_远程管理命令_09_PuTTY的安装和exit退出登录
- 42_远程管理命令_10_XShell的安装_免费和设置语言
第四章 用户权限

4-1 用户权限介绍

- 43_用户权限_01_学习目标
- 44_用户权限_02_用户/权限/组的基本概念
4-2 查看文件的权限

- 45_用户权限_03_ls?-l输出信息介绍
- 46_用户权限_04_ls?-l硬链接数含义的扩展
4-3 修改文件的权限

- 47_用户权限_05_chmod修改文件权限
- 48_用户权限_06_chmod修改目录权限
4-4 超级用户

- 49_用户权限_07_超级用户介绍
第五章 用户和组管理

5-1 组管理

- 50_组管理_01_添加组/删除组/确认组信息
- 51_组管理_02_群组演练目标确定
- 52_组管理_03_chgrp修改目录所属组的演练
5-2 用户管理

- 53_用户管理_01_新建用户useradd和passwd
- 54_用户管理_02_-m选项的作用以及删除用户userdel
- 55_用户管理_03_su切换用户
- 56_用户管理_04_权限命令介绍和chown/chgrp演练
- 57_用户管理_05_chmod的数字表示法介绍
- 58_用户管理_06_chmod演练-R递归修改目录权限
第六章 查看系统信息

6-1 显示时间信息

- 59_系统信息_01_学习目标
- 60_系统信息_02_date和cal查看系统时间
6-2 查看磁盘和目录使用情况

- 61_系统信息_03_df和du查看磁盘和目录空间占用
6-3 查看进程

- 62_系统信息_04_进程概念介绍
- 63_系统信息_05_ps命令基本使用
- 65_系统信息_07_kill命令基本使用
6-4 查看系统资源

- 64_系统信息_06_top命令基本使用
第七章 其他命令

7-1 查找文件

- 66_其他命令_01_学习目标以及find命令的基本使用
7-2 打包压缩

- 67_打包压缩_01_tar包简介和命令格式介绍
- 68_打包压缩_02_打包和解包演练
- 69_打包压缩_03_gzip压缩和解压缩介绍和演练
- 70_打包压缩_04_bzip2压缩和解压缩介绍和演练
第八章 vim编辑器

8-1 vim基本用法

- 71_vi简介_01_学习vi的目的
- 72_vi简介_02_vi和vim以及vi的特点
- 73_打开文件_打开或者新建文件
- 74_工作模式_01_职责以及切换方式
- 75_工作模式_02_工作模式切换演练
- 76_进入编辑模式的6个命令
第九章 数据库基础理论及MySQL数据库安装

9-1 数据库基础概念

- 01_数据库课程介绍
- 02_数据库是什么
- 03_RDBMS
- 04_SQL介绍
9-2 MySQL数据库的架构和安装注意事项

- 05_MySQL介绍
- 06_服务端与客户端介绍
- 07_服务端操作
第十章 数据库操作

10-1 通过Navicat操作数据库

- 08_navicat连接服务端
- 09_navicat操作数据库
10-2 图形化操作数据表

- 10_navicat操作表_创建表
- 11_navicat操作表_修改表和删除表
- 12_navicat操作数据_增删改
- 13_数据类型_整数
- 14_数据类型_小数
- 15_数据类型_字符串
- 16_数据类型_日期时间
- 17_约束_主键
- 18_约束_非空
- 19_约束_唯一
- 20_约束_默认值
- 21_备份与恢复
第十一章 SQL操作

11-1 通过SQL完成数据表的创建、删除

- 22_SQL_查询编辑器
- 23_SQL_创建表
- 下个视频的补充说明
- 24_SQL_创建多个字段的表
- 25_SQL_删除表
11-2 通过SQL完成简单的记录的增、删、改、查

- 26_SQL_添加一行数据_语法一
- 27_SQL_添加一行数据_语法二
- 28_SQL_添加多行数据
- 29_SQL_修改数据
- 30_SQL_删除数据_delete
- 31_SQL_删除数据_truncate
- 32_delete和truncate和drop区别
11-3 数据查询

- 01_查询_准备数据
- 02_查询所有字段和部分字段
- 03_起别名
- 04_去重
- 05_条件查询_比较运算
- 06_练习_比较运算
- 07_条件查询_逻辑运算
- 08_练习_逻辑运算
- 09_条件查询_模糊
- 10_练习_模糊查询
- 11_条件查询_范围
- 12-练习-范围查询
- 13-条件查询-空判断
- 14_排序
- 15_排序_练习
- 16_聚合函数_count
- 17_聚合函数_sum、min、max、avg
- 18_聚合函数_练习
- 19_分组_案例1
- 20_分组_案例2
- 21_分组_练习
- 22_分组_having
- 23_分组_having-练习
- 24_获取部分行
- 25_获取部分行_练习
- 26_分页
- 27_分页_练习
- 01_连接查询_准备数据
- 02_连接查询_内连接
- 03_内连接_扩展
- 04_内连接_连接3个表
- 05_内连接_显示指定列
- 06_内连接_案例567
- 07_左连接
- 08_右连接
- 09_自关联_准备数据
- 10_自关联_案例1
- 11_自关联_案例2
- 12_自关联_应用场景
- 13_标量子查询
- 14_列子查询
- 15_行子查询
- 16_表子查询
- 17_子查询的关键字
- 18_查询演练_准备数据
- 19_查询演练_1~2
- 20_查询演练_3~5
- 21_查询演练_6~8
- 22_查询演练_9
- 23_查询演练_10
第十二章 数据库高级

12-1 数据库设计模型

- 1-E-R模型
12-2 命令行中操作数据库

- 2-命令行客户端-连接服务端
- 3-命令行客户端-操作数据库
- 4-命令行客户端-操作表
- 5-命令行客户端-备份与恢复
12-3 其他操作

- 6-内置函数-字符串函数
- 7-内置函数-数学函数
- 8-内置函数-日期时间
- 9-case语法
- 10-自定义函数
- 11-存储过程
- 12-函数与存储过程的作用
- 13-视图
- 14-事务
- 15-索引演示
- 16-索引语法和作用
- 17-外键
- 18-修改密码
- 19-忘记root账户密码
- 20-MySQL操作日志
第十三章 Redis

13-1 Redis入门

- 01_redis介绍
- 02_服务端与客户端
13-2 Redis的操作

- 03_键值对
- 04_string_添加修改数据
- 05_string_设置过期时间
- 06_string_设置多个键值
- 07_string_追加值
- 08_string_获取
- 09_键命令_查看
- 10_键命令_删除
- 11_键命令_有效期
- 12_hash_设置一个属性
- 13_hash_设置多个属性
- 14_hash_获取
- 15_hash_删除
- 16_list_左右添加数据
- 17_list_插入数据
- 18_list_获取
- 19_list_修改
- 20_list_删除
- 21_set_增加和获取
- 22_set_删除
- 23_zset_增加
- 24_zset_获取
- 25_zset_删除
阶段三 功能测试
展开第一章 软件开发和测试模型

1-1 软件开发过程模型

- 01-软件开发过程模型的概念
- 02-软件开发过程模型-瀑布模型
- 03-软件开发过程模型-快速原型模型
- 04-软件开发过程模型-螺旋模型
1-2 软件测试模型

- 05-软件测试模型的概念
- 06-软件测试模型-V模型
- 07-软件测试模型-W模型
- 08-软件测试模型-H模型
第二章 软件测试分类

2-1 软件测试的分类

- 09-软件测试的分类-按照测试阶段进行划分
- 10-软件测试的分类-验收测试的分类
- 11-软件测试的分类-按照是否覆盖源代码进行划分1
- 12-软件测试的分类-黑盒测试的分类
- 13-软件测试的分类-按照是否运行进行划分
- 14-软件测试的分类-其他
- 15-软件测试的分类-是否自动化
第三章 测试用例设计

3-1 测试用例设计方法

- 16-测试用例的定义
- 17-测试用例8要素
- 18-测试用例模板
- 19-等价类划分法的定义
- 20-等价类的设计步骤及qq账号案例的讲解
- 21-等价类划分法案例-电话号码案例
- 22-等价类划分法案例-注册新用户
- 23-等价类划分法适用范围
- 01-边界值分析法引出及取值范围
- 02-边界值分析法中的三个点
- 03-边界值分析法设计测试用例步骤及案例1
- 04-边界值分析法案例-qq账号
- 05-边界值分析法案例-修改手机银行登录密码
- 06-边界值分析法的使用范围
- 07-判定表法的引出
- 08-判定表的四个组成部分1
- 09-判定表的设计步骤及案例1
- 10-判定表案例-文件修改
- 11-判定表案例-交通一卡通
- 12-什么是因果图法
- 13-因果图法的核心
- 14-因果图的基本符号
- 15-因果图的画法
- 16-因果图法的基本步骤
- 17-因果图法的适用范围
- 01-场景法的定义
- 02-基本流和备选流
- 03-场景法的使用步骤
- 04-场景法案例
- 05-流程图法的常用符号
- 06-ATM机的取款流程图画法
- 07-流程图法设计测试用例步骤
- 08-错误推测法
- 09-正交排列法定义
- 10-正交表的概念
- 11-正交表法设计测试用例步骤
- 12-对某人进行查询
- 13-114系统查询企业
- 14-用户筛选
- 15-正交设计助手
- 16-使用allpairs工具生成测试用例
第四章 缺陷及SVN

4-1 缺陷管理

- 01-软件缺陷的定义
- 02-软件缺陷的表现形式
- 03-软件缺陷产生的原因
- 04-软件缺陷的信息-缺陷的状态
- 05-软件缺陷的信息-缺陷的严重程度
- 06-软件缺陷的信息-缺陷的优先级
- 07-软件缺陷的信息-缺陷的分类
- 08-软件缺陷的信息-重现步骤
- 19-缺陷报告模板
- 20-认识缺陷报告的重要性
- 21-缺陷报告的注意事项
- 22-缺陷书写规范
- 23-缺陷报告避免常见的错误
- 24-缺陷跟踪流程
- 25-缺陷统计
- 26-缺陷数据分析关注的问题
4-2 SVN的使用

- 17-svn的简单介绍
- 18-svn的使用-创建版本库
- 19-svn使用-检出
- 20-svn使用-更新
- 21-svn使用-提交
- 22-svn使用-增加
- 23-svn使用-删除
- 24-svn使用-改名
- 25-svn使用-移动
- 26-svn使用-更新至版本
第五章 熟悉项目

5-1 前置工作:熟悉项目

- 01-测试环境的搭建
- 02-域名配置知识扩展
- 03-扩展-nginx和Apache服务器的区别
- 04-熟悉项目-四步骤及信息来源
- 05-熟悉项目-了解项目的业务特性及用户角色
- 06-熟悉项目-了解后台项目的组织架构图
- 07-前台项目组织架构图绘制
- 08-熟悉项目-了解项目的技术栈
第六章 测试流程介绍

6-1 项目测试流程

- 09-项目测试流程
- 10-需求评审
第七章 编写测试计划与方案

7-1 编写测试计划

- 11-编写测试计划
- 12-测试计划的注意点
7-2 编写测试方案

- 13-编写测试方案
- 14-测试计划与测试方案的区别
第八章 手工项目功能测试

8-1 熟悉项目中的数据库表

- 15-熟悉项目中的数据库表
- 16-熟悉数据库sql语法编写-练习1
- 17-熟悉数据库sql语法编写-练习2
- 18-熟悉数据库sql语法编写-练习3
- 19-熟悉数据库sql语法编写-练习4
- 20-熟悉数据库sql语法编写-练习5
8-2 注册功能

- 01-注册功能-输入分析
- 02-注册功能-处理分析
- 03-注册功能-输出分析
- 04-手机号码数据构造
- 05-注册功能-数据构造
- 06-注册功能-测试用例编写
- 07-注册功能-编写缺陷报告
8-3 轮播图功能

- 08-轮播图功能-需求分析
- 09-轮播图功能-测试用例编写
- 10-轮播图功能-编写缺陷报告
8-4 购物车功能

- 11-购物车功能-需求分析
- 12-购物车功能-需求分析
- 13-购物车功能-测试用例编写
- 14-购物车功能-编写缺陷报告
8-5 登录功能

- 01-登录功能需求分析
- 02-登录功能数据构造
- 03-登录功能测试用例编写
8-6 流程图设计测试用例

- 04-流程图的主要元素及画法
- 05-tpshop前后台下单及发货流程
- 06-画出tpshop前后台下单及发货流程
- 07-流程图设计测试用例
8-7 测试点的设计思路

- 08-测试点的设计思路
8-8 会员管理模块

- 09-会员管理模块-覆盖需求
第九章 辅助功能测试

9-1 项目与数据库的关系

- 10-项目与数据库之间的关系
- 11-项目与数据库之间的关系练习1
- 12-项目与数据库的关系练习2
9-2 功能测试与数据库

- 13-功能测试涉及到的数据库场景
- 14-功能测试涉及数据库的场景1
- 15-功能测试涉及数据库的场景2
- 16-功能测试涉及数据库的场景3
- 17-功能测试涉及数据库的场景4
- 18-功能测试涉及数据库场景练习1
- 19-功能测试涉及数据库场景练习2
9-3 功能测试与抓包工具

- 01-网络基础知识-url
- 02-访问网站的过程
- 03-html和HTTP协议关联
- 04-HTTP请求
- 05-HTTP响应
- 06-状态码
- 07-HTTP中的get和post方法
- 13-fiddler的工作原理
- 14-fiddler的基本使用
- 15-fiddler过滤的使用
- 16-fiddler模拟接口测试
- 17-fiddler修改接口请求数据
- 18-fiddler抓取HTTPS请求
第十章 非功能测试

10-1 项目非功能测试

- 08-非功能测试-效率性
- 09-非功能测试-可靠性
- 10-扩展:sql注入
- 11-非功能测试-兼容性
- 12-测试报告的核心内容
第十一章 APP测试快速入门

11-1 APP专项测试

- 01-app测试的要点
- 02-兼容性测试
- 03-兼容性测试扩展
- 04-升级安装及卸载测试
- 05-交叉时间测试
- 06-push消息测试
- 07-性能测试
- 08-性能测试补充
- 09-其他测试
11-2 APP测试环境

- 10-项目的前置基础(扩展)
- 11-APP项目环境
11-3 APP发布平台

- 12-APP发布平台
第十二章 敏捷开发模式

12-1 敏捷开发及测试

- 13-敏捷开发模式概念
- 14-Scrum介绍
第十三章 黑马头条APP项目

13-1 黑马头条功能测试

- 15-APP应用测试流程
- 16-黑马头条APP项目说明
- 17-黑马头条-需求评审
- 01-黑马头条-测试计划
- 02-写评论-显性需求
- 03-写评论-隐性需求
- 04-写评论-测试用例编写
- 05-评论显示-需求分析
- 06-评论显示-测试用例编写
- 07-点赞需求分析
- 08-点赞测试用例编写
- 09-编辑个人头像需求分析
- 10-编辑个人头像测试用例
- 11-个人信息实名认证需求分析
- 12-个人信息实名认证测试用例编写
- 13-用例执行及缺陷跟踪
- 14-测试报告的编写
第十四章 Fiddler在移动端测试的应用

14-1 Fiddler移动端使用

- 15-fiddler手机抓包
- 16-fiddler的弱网测试
第十五章 禅道和Jira

15-1 禅道

- 01-软件开发流程
- 02-禅道的介绍
- 03-禅道的安装
- 04-超级管理员登录-创建角色
- 05-禅道的使用-产品经理
- 06-需求的评审和变更
- 07-项目经理角色登录创建项目
- 08-项目经理建立团队分解任务
- 09-开发团队角色登录后领取任务
- 10-开发团队打包提测
- 11-测试人员登录后创建测试用例和评审测试用例的过程
- 12-测试人员登录后执行测试用例提交bug的过程
- 13-开发团队修复bug及测试团队回归测试的过程
- 14-禅道的使用-导入Excel用例
15-2 Jira

- 09-jira的介绍
- 10-jira的版本
- 11-jira中涉及到的角色
- 12-jira的使用-创建项目
- 13-jira中的基本概念-问题
- 14-jira中的基本概念-工作流
- 15-jira的使用-创建角色
- 16-jira的使用-提交问题
- 17-jira的使用-修复问题
- 18-jira的使用-回归测试
阶段四 Python编程
展开第一章 Python基础

1-1 Python简介

- 001-Ptyhon简介-01-Python的起源
- 002-Ptyhon简介-02-编译型语言和解释型语言
- 003-Ptyhon简介-03-Python的设计目标
- 004-Ptyhon简介-04-Python的设计哲学
- 005-Ptyhon简介-05-为什么选择Python?
- 006-Ptyhon简介-06-Python的特点和面相对象基本概念
- 007-Ptyhon简介-07-Python的优缺点
1-2 第一个程序

- 008-第一个程序-01-目标确定
- 009-第一个程序-02-python程序的格式以及扩展名
- 010-第一个程序-03-Hello Python程序演练
- 011-第一个程序错误排查-01-程序开发中的错误及原因
- 012-第一个程序错误排查-02-手误错误
- 013-第一个程序错误排查-03-一行代码不要做多件事情
- 014-第一个程序错误排查-04-缩进错误
- 015-第一个程序错误排查-05-Python2默认不支持中文
- 016-Python2和Python3的介绍
1-3 Python执行方式和Pycharm设置

- 017-执行Python的方式-01-解释器运行及其他几种解释器简介
- 018-执行Python的方式-02-官方解释器交互式运行程序
- 019-执行Python的方式-03-IPython
- 020-执行Python的方式-04-集成开发环境IDE简介
- 021-执行Python的方式-05-PyCharm简介
- 022-执行Python的方式-06-PyCharm快速体验
- 023-PyCharm初始设置-01-目标确定
- 024-PyCharm初始设置-02-恢复初始设置-windows不需要
- 025-PyCharm初始设置-03-第一次启动PyCharm
- 026-PyCharm初始设置-04-项目简介/明确目录的作用
- 027-PyCharm初始设置-05-打开认识Python项目
- 028-PyCharm初始设置-06-设置解释器版本
- 029-PyCharm初始设置-07-项目和文件名的命名规则
- 030-PyCharm初始设置-08-新建项目演练
- 031-PyCharm初始设置-09-设置编辑区域和控制台的字体显示
- 032-PyCharm初始设置-10-PyCharm专业版的安装和启动
- 033-PyCharm初始设置-11-设置PyCharm专业版的启动图标
- 034-PyCharm初始设置-12-程序安装过程及文件目录介绍
- 035-PyCharm初始设置-13-卸载之前版本的PyCharm
- 036-PyCharm初始设置-14-PyCharm教育版的安装和启动
- 037-PyCharm初始设置-15-确定课程演练的PyCharm版本
- 038-多文件项目演练
1-4 程序的注释和算术运算符

- 039-程序的注释-01-注释的作用
- 040-程序的注释-02-单行注释
- 041-程序的注释-03-解释器不会解释#右侧的内容
- 042-程序的注释-04-在代码末尾增加单行注释
- 043-程序的注释-05-多行注释
- 044-程序的注释-06-注释的使用以及代码规范文档
- 045-算数运算符
1-5 程序执行原理

- 046-程序执行原理-01-明确目标
- 047-程序执行原理-02-计算机中的三大件
- 048-程序执行原理-03-计算机三大件特点的问答
- 049-程序执行原理-04-程序执行原理简介
- 050-程序执行原理-05-Python程序执行原理
- 051-程序执行原理-06-明确程序的作用
- 052-程序执行原理-07-明确变量负责保存数据
1-6 变量的使用以及类型

- 053-变量的使用-01-明确目标和变量定义
- 054-变量的使用-02-使用PyCharm定义QQ变量
- 055-变量的使用-03-超市买苹果
- 056-变量的使用-04-PyCharm单步执行查看变量值
- 057-变量的使用-05-超市买苹果变量的定义和使用
- 058-变量的类型-01-明确演练需求/项目文件准备
- 059-变量的类型-02-个人信息案例演练
- 060-变量的类型-03-[扩展]PyCharm的调试细节-调试之前先继续执行程序
- 061-变量的类型-04-Python中的变量类型
- 062-变量的类型-05-type函数查看变量类型
- 063-变量的类型-06-Python2.x区分int和long
1-7 变量的计算和输入输出

- 064-变量间的计算-01-数字型变量可以直接计算
- 065-变量间的计算-02-拼接字符串的两种方式
- 066-变量的输入输出-01-输入和函数的概念
- 067-变量的输入输出-02-input函数的基本使用
- 068-变量的输入输出-03-类型转换函数介绍
- 069-变量的输入输出-04-买苹果增强版演练
- 070-变量的输入输出-05-提出问题—从控制台输入数字需要两个变量处理
- 071-变量的输入输出-06-单步执行确认变量数量
- 072-变量的输入输出-07-买苹果案例改进
- 073-变量的输入输出-08-格式化输出语法介绍
- 074-变量的输入输出-09-格式化输出字符串变量
- 075-变量的输入输出-10-格式化输出整数变量
- 076-变量的输入输出-11-格式化输出浮点型变量
- 077-变量的输入输出-12-格式化输出%及小结
1-8 变量的命名

- 078-变量的命名-01-标识符的概念及命名要求
- 079-变量的命名-02-关键字的概念和查看关键字列表
- 080-变量的命名-03-Python中的变量命名规则
1-9 if判断语句

- 081-判断语句-01-判断在生活中的应用场景
- 082-if基础-01-if语句基本语法介绍
- 083-if基础-02-判断年龄演练
- 084-if基础-03-比较运算符简介
- 085-if基础-04-if语句和缩进部分是一个完整的代码块
- 086-if基础-05-PyCharm代码块及光标位置提示
- 087-if基础-06-else的语法格式
- 088-if基础-07-判断年龄改进版
- 089-if基础-08-由控制台输入年龄-不同类型不能直接比较
- 090-if基础-09-if else可以看成一个完整的代码块
- 091-逻辑运算-01-逻辑运算符简介
- 092-逻辑运算-02-案例1判断年龄
- 093-逻辑运算-03-案例2考试成绩
- 094-逻辑运算-04-案例3非公勿入
- 095-elif-01-语法介绍及应用场景
- 096-elif-02-女友的节日案例
- 097-if嵌套-01-if嵌套的应用场景
- 098-if嵌套-02-if嵌套的语法
- 099-if嵌套-03-火车站安检-检查车票
- 100-if嵌套-04-[扩展]PyCharm使用Tab统一增加缩进
- 101-if嵌套-05-火车站安检-检查刀的长度
1-10 石头剪刀布

- 102-石头剪刀布-01-明确目标和需求
- 103-石头剪刀布-02-玩家和电脑出拳
- 104-石头剪刀布-03-判断胜负
- 105-石头剪刀布-04-[扩展]增加换行调整条件判断代码格式
- 106-石头剪刀布-05-随机数的使用
- 107-石头剪刀布-06-电脑随机出拳
1-11 while循环基本使用

- 108-循环-01-目标确定
- 109-循环-02-三大流程介绍
- 110-循环基础-01-基础语法介绍和常用的应用场景
- 111-循环基础-02-第一个while循环
- 112-循环基础-03-单步调试while循环
- 113-循环基础-04-死循环的概念及解决方法
- 114-循环基础-05-Python中的赋值运算符
- 115-循环基础-06-程序计数从0开始
- 116-循环计算-01-思路分析
- 117-循环计算-02-0到100数字累加
- 118-循环计算-03-偶数求和-准备偶数
- 119-循环计算-04-偶数求和-计算结果
1-12 循环嵌套

- 120-break和continue-01-break关键字的应用场景
- 121-break和continue-02-break代码演练
- 122-break和continue-03-continue关键字的应用场景
- 123-break和continue-04-continue代码演练
- 124-循环嵌套-01-基本语法
- 125-循环嵌套-02-使用字符串运算直接输出小星星
- 126-循环嵌套-03-[扩展]print函数的结尾处理
- 127-循环嵌套小星星-01-输出行并且确定思路
- 128-循环嵌套小星星-02-嵌套循环完成案例
- 129-九九乘法表-01-明确思路和步骤
- 130-九九乘法表-02-打印9行小星星
- 131-九九乘法表-03-九九乘法表数据输出
- 132-九九乘法表-04-使用转义字符调整格式
1-13 函数的基本使用

- 133-函数-01-明确学习目标
- 134-函数-02-函数的概念以及作用
- 135-函数-03-函数的快速体验
- 136-函数基本使用-01-函数定义语法
- 137-函数基本使用-02-第一个函数演练
- 138-函数基本使用-03-函数的定义以及调用执行线路图
- 139-函数基本使用-04-应该先定义函数再调用函数
- 140-函数基本使用-05-[扩展]单步越过和单步进入
- 141-函数基本使用-06-函数的文档注释
1-14 函数的参数和返回值

- 142-函数参数-01-没有参数的函数过于死板
- 143-函数参数-02-函数参数的使用以及作用
- 144-函数参数-03-形参和实参
- 145-函数的返回值-01-返回值的应用场景和格式
- 146-函数的返回值-02-改造求和函数
- 147-函数的返回值-03-retrun关键字的注意事项
1-15 函数的嵌套调用

- 148-函数的嵌套调用-01-函数嵌套调用的执行线路图
- 149-函数的嵌套调用-02-[扩展]用百度网站举例说明函数的调用线路
- 150-分隔线演练-01-利用参数增加分隔线的灵活度
- 151-分隔线演练-02-打印多条分隔线
- 152-分隔线演练-03-增加多行分隔线函数的参数
- 153-分隔线演练-04-[扩展]PyCharm给函数增加文档注释
1-16 模块的简介

- 154-模块-01-概念介绍
- 155-模块-02-使用模块演练
- 156-模块-03-模块名也是一个标识符
- 157-模块-04-[科普]pyc文件可以提高程序执行速度
1-17 列表

- 158-高级变量-01-学习目标确定
- 159-列表-01-作用和定义方式
- 160-列表-02-存储数据的方式以及从列表中取值
- 161-列表-03-确认列表常用操作的方法
- 162-列表-04-从列表中取值和取索引
- 163-列表-05-修改指定位置的数据
- 164-列表-06-向列表增加数据
- 165-列表-07-从列表删除数据
- 166-列表-08-使用del关键字从列表删除数据
- 167-列表-09-列表统计及删除方法扩展
- 168-列表-10-列表的排序和反转
- 169-列表-11-关键字、函数和方法的特点和区别
- 170-列表-12-迭代遍历
- 171-列表-13-列表的应用场景
1-18 元祖

- 172-元组-01-特点以及和列表的区别
- 173-元组-02-元组变量的定义
- 174-元组-03-元组变量的常用操作
- 175-元组-04-元组变量的循环遍历
- 176-元组-05-元组的应用场景
- 177-元组-06-元组和格式化字符串
- 178-元组-07-元组和列表之间的转换
1-19 字典

- 179-字典-01-字典的定义格式以及键值对的概念
- 180-字典-02-变量的定义以及应用场景
- 181-字典-03-字典的增删改查常用操作
- 182-字典-04-字典的统计、合并、清空操作
- 183-字典-05-字典的循环遍历
- 184-字典-06-字典和列表组合的应用场景
1-20 字符串

- 185-字符串-01-定义和基本使用
- 186-字符串-02-长度、计数、位置方法演练
- 187-字符串-03-常用方法总览和分类
- 188-字符串-04-判断空白字符以及学习方法分享
- 189-字符串-05-判断数字的三个方法
- 190-字符串-06-字符串的查找和替换
- 191-字符串-07-文本对齐方法演练
- 192-字符串-08-去除空白字符
- 193-字符串-09-拆分和拼接字符串
- 194-字符串-10-切片概念和语法以及倒序索引
- 195-字符串-11-字符串切片演练
1-21 容器类型公共方法

- 196-公共方法-01-内置函数长度、删除、最大、最小、比较
- 197-公共方法-02-切片
- 198-公共方法-03-算数运算符及对比列表追加方法
- 199-公共方法-04-成员运算符
- 200-公共方法-05-完整的for循环-for else
- 201-公共方法-06-利用for else搜索字典列表-for else
1-22 名片管理系统

- 202-名片管理-01-明确目标及备课代码演示
- 203-框架搭建-01-框架介绍及系统架构分析
- 204-框架搭建-02-新建项目准备文件
- 205-框架搭建-03-用户输入判断和pass关键字
- 206-框架搭建-04-无限循环保证用户能够重复选择操作
- 207-框架搭建-05-if嵌套判断用户的具体操作预留代码位置
- 208-框架搭建-06-cards_main知识点小结
- 209-框架搭建-07-[扩展]TODO注释及格式
- 210-框架搭建-08-显示欢迎界面及功能菜单
- 211-框架搭建-09-准备名片操作函数修改主文件中函数调用
- 212-数据结构确定-01-确定名片管理系统的数据结构
- 213-新增名片-01-新增名片功能实现
- 214-新增名片-02-[扩展]PyCharm技巧重命名变量名
- 215-显示全部-01-遍历列表显示字典明细
- 216-显示全部-02-判断列表数量,没有名片直接返回
- 217-查询名片-01-查询功能实现
- 218-查询名片-02-准备处理名片函数
- 219-处理名片-01-增加分支判断用户操作类型
- 220-处理名片-02-删除名片
- 221-处理名片-03-修改名片
- 222-处理名片-04-明确细化修改名片的思路,准备新的输入函数
- 223-处理名片-05-实现修改名片输入函数
- 224-处理名片-06-增加文档注释、删除TODO标记
- 225-运行程序-01-增加Shebang符号直接运行Python程序
1-23 变量的引用以及是否可变

- 226-变量的引用-01-变量的引用概念
- 227-变量的引用-02-调用函数传递实参的引用
- 228-变量的引用-03-函数返回值传递引用
- 229-可变类型和不可变类型-01-基本概念
- 230-可变类型和不可变类型-02-列表、字典的修改和赋值
- 231-可变类型和不可变类型-03-字典的key不能是可变类型
1-24 局部变量和全局变量

- 232-局部变量和全局变量-01-基本概念和区别
- 233-局部变量-01-代码演练
- 234-局部变量-02-变量的生命周期
- 235-局部变量-03-不同函数内的同名局部变量
- 236-全局变量-01-基本代码演练
- 237-全局变量-02-[扩展]PyCharm的单步跟踪技巧
- 238-全局变量-03-函数内部不允许修改局部变量的值
- 239-全局变量-04-单步调试确认局部变量的定义
- 240-全局变量-05-global关键字修改全局变量
- 241-全局变量-06-全局变量定义的位置及代码结构
- 242-全局变量-07-全局变量命名的建议
1-25 函数的返回值和参数进阶

- 243-函数参数和返回值的作用
- 244-函数的返回值-01-利用元组返回多个值
- 245-函数的返回值-02-接收返回元组函数的方式
- 246-函数的返回值-03-交换两个变量的值
- 247-函数的参数-01-在函数内部针对参数赋值不会影响外部实参
- 248-函数的参数-02-在函数内部使用方法修改可变参数会影响外部实参
- 249-函数的参数-04-列表使用+=本质上是调用extend方法
- 250-缺省参数-01-回顾列表的排序方法明确缺省参数的概念及作用
- 251-缺省参数-02-指定函数缺省参数的默认值
- 252-缺省参数-03-缺省参数的注意事项
- 253-多值参数-01-定义及作用
- 254-多值参数-02-数字累加案例演练
- 255-多值参数-03-元组和字典的拆包
- 256-递归-01-递归的特点及基本代码演练
- 257-递归-02-递归演练代码的执行流程图
- 258-递归-03-递归实现数字累加
- 259-递归-04-数字累加的执行流程图
第二章 面向对象

2-1 面向对象基础

- 001-面向对象-01-基本概念
- 002-面向对象-02-类和对象基本概念
- 003-面向对象-03-设计类的三要素和名词提炼法
- 004-面向对象-04-内置的dir函数查询对象的方法列表
- 005-定义简单类-01-基本语法
- 006-定义简单类-02-案例演练
- 007-定义简单类-03-接收对象的变量同样是对对象的引用
- 008-定义简单类-04-创建多个猫对象
- 009-self-01-在类的外部给对象增加属性
- 010-self-02-利用self在类封装的方法中输出对象属性
- 011-初始化方法-01-在类的外部给对象增加属性的隐患
- 012-初始化方法-02-创建对象时自动调用初始化方法
- 013-初始化方法-03-在初始化方法中定义属性
- 014-初始化方法-04-使用参数设置属性初始值
- 015-内置方法-01-del方法和对象的生命周期
- 016-内置方法-02-str方法定制变量输出信息
2-2 面向对象练习

- 017-小明爱跑步-01-封装特性和需求分析
- 018-小明爱跑步-02-案例完成
- 019-小明爱跑步-03-扩展-多个对象属性之间互不干扰
- 020-摆放家具-01-需求分析-被使用的类应该先开发
- 021-摆放家具-02-家具类以及创建家具对象
- 022-摆放家具-03-定义房子类
- 023-摆放家具-04-完成添加家具方法
- 024-封装案例-01-需求分析-属性可以是另外一个类创建的对象
- 025-封装案例-02-创建(qiang)类
- 026-封装案例-03-创建士兵类-完成初始化方法
- 027-封装案例-04-完成开火方法
- 028-封装案例-05-身份运算符-判断None应该使用 is
- 029-私有属性和方法-01-应用场景、定义方式和演练
- 030-私有属性和方法-02-伪私有属性和方法
2-3 单继承和方法的重写

- 031-单继承-01-问题的抛出-单纯封装可能会出现重复的代码
- 032-单继承-02-继承的概念和语法
- 033-单继承-03-继承相关的术语-继承和派生
- 034-单继承-04-继承的传递性
- 035-单继承-05-继承传递性的注意事项
- 036-方法的重写-01-覆盖父类方法,重写子类方法实现
- 037-方法的重写-02-扩展父类方法,super对象调用父类方法
- 038-方法的重写-03-使用父类名调用父类方法
2-4 私有方法和属性

- 039-私有属性和方法-01-子类对象不能直接访问
- 040-私有属性和方法-02-通过父类方法间接访问
2-5 多继承

- 041-多继承-01-概念、语法和基本演练
- 042-多继承-02-注意父类之间注意不要有重名方法或属性
- 043-多继承-03-MRO方法搜索顺序
- 044-多继承-04-新式类和经典类
2-6 多态

- 045-多态-01-基本概念
- 046-多态-02-案例演练
2-7 类属性、类方法、静态方法

- 047-类属性-01-创建对象的过程以及实例的概念
- 048-类属性-02-类是一个特殊的对象
- 049-类属性-03-类属性的定义及使用
- 050-类属性-04-属性查找机制-向上查找
- 051-类属性-05-使用对象名+类属性赋值语句会创建实例属性
- 052-类方法-01-基本语法
- 053-类方法-02-案例演练
- 054-静态方法-01-应用场景和定义方式
- 055-方法综合-01-案例分析
- 056-方法综合-02-案例演练
- 057-方法综合-03-确定方法类型的套路
2-8 单例模式

- 058-单例-01-设计模式和单例设计模式概念
- 059-单例-02-new方法的作用
- 060-单例-03-重写new方法
- 061-单例-04-单例设计模式思路分析
- 062-单例-05-单例设计模式代码实现
- 063-单例-06-初始化动作只执行一次
2-9 异常

- 064-异常-01-异常的概念以及抛出异常的原因
- 065-异常-02-简单的异常捕获
- 066-异常-03-根据错误类型捕获异常
- 067-异常-04-捕获未知错误
- 068-异常-05-异常捕获的完整语法
- 069-异常-06-异常的传递性
- 070-异常-07-主动抛出异常的应用场景
- 071-异常-08-主动抛出异常案例演练
2-10 模块和包

- 072-模块-01-基本概念和import导入复习
- 073-模块-02-import导入时指定别名
- 074-模块-03-from import局部导入
- 075-模块-04-from import导入同名工具
- 076-模块-05-from import导入所有工具
- 077-模块-06-模块搜索顺序
- 078-模块-07-开发原则以及导入文件时会执行没有缩进的代码
- 079-模块-08-__name__属性兼顾测试和导入两种模式
- 080-包-01-包的概念以及建立包的方式
- 081-包-02-封装模块、设置__init__和外界导入包
- 082-制作模块-01-明确目的和介绍步骤
- 083-制作模块-02-制作模块压缩包
- 084-制作模块-03-安装模块压缩包
- 085-制作模块-04-卸载已经安装过的模块
- 086-pip-使用pip安装pygame模块
2-11 文件操作

- 087-文件-文件概念以及文本文件和二进制文件的区别
- 088-文件操作-01-文件操作套路以及Python中的对应函数和方法
- 089-文件操作-02-读取文件内容
- 090-文件操作-03-读取文件后文件指针会发生变化
- 091-文件操作-04-打开文件方式以及写入和追加数据
- 092-文件操作-05-使用readline分行读取大文件
- 093-文件操作-06-小文件复制
- 094-文件操作-07-大文件复制
- 095-导入os模块,执行文件和目录管理操作
2-12 文本编码

- 096-文本编码-01-文本文件的编码方式ASCII和UTF8
- 097-文本编码-02-怎么样在Python2.x中使用中文
- 098-文本编码-03-Python2.x处理中文字符串
2-13 内建函数eval

- 099-eval-01-基本使用
- 100-eval-02-[扩展]不要直接转换input结果
阶段五 web自动化测试
展开第一章 Web自动化入门

1-1 Web自动化测试

- 001_课程大纲
- 002_自动化及自动化测试相关知识
- 003_自动化测试优点及误区
- 004_web自动化测试相关知识
1-2 Web自动化工具选择

- 005_自动化工具选择
- 006_selenium概念及特点
- 007_selnium家族介绍
1-3 环境搭建

- 008_selenium安装卸载
- 009_浏览器驱动下载及应用
- 010_回顾浏览器驱动安装注意事项
- 011_科普path环境变量
- 012_webdriver第一个案例演示
- 013_pycharm安装软件
第二章 Selenium-API操作

2-1 元素定位

- 014_元素定位相关工具
- 015_元素定位方式及分类
- 016_id属性定位方法
- 017_案例1(id定位)
- 018_案例1(id定位扩展)
- 019_name与class_name方法
- 020_科普id、name、class区别
- 021_tag_name定位
- 022_link_text及partial_link_text定位
2-2 元素定位-XPath、CSS

- 023_为什么使用xpath定位和css定位
- 024_xpath常用策略
- 025_Xpath语法
- 026_xpath练习
- 027_Xpath扩展
- 028_css定位
- 029_css定位策略
- 030_css选择器案例
- 031_css扩展
- 032_八种元素定位汇总
- 033_扩展工具生成XPATH和CSS
- 034_定位一组元素
- 035_扩展find_element方法封装
2-3 元素操作|浏览器操作方法

- 036_元素操作方法
- 037_操作浏览器(最大化、设置大小、窗口位置、后退、前进)
- 038_浏览器常用操作API
- 039_操作浏览器(刷新、close、quit、title、current_url)分析
- 040_操作浏览器(刷新、close、quit、title、current_url)实践
- 041_获取元素信息的常用方法分析
- 042_获取元素信息的常用方法实践
2-4 鼠标和键盘操作

- 043_鼠标操作相关知识
- 044_鼠标常用操作方法(右击、双击、悬停、执行)
- 045_拖拽方法演示
- 046_鼠标操作
- 047_键盘操作
2-5 元素等待

- 048_什么是元素等待及分类
- 049_隐式等待应用
- 050_显示等待应用
2-6 下拉框、弹出框、滚动条操作

- 051_使用css定位下拉框
- 052_select选择框
- 053_认识警告框及为什么要操作
- 054_处理警告框
- 055_滚动条操作
2-7 frame切换、多窗口切换

- 056_为什么要切换frame表单
- 057_切换frame表单操作
- 058_为什么要切换窗口
- 059_切换窗口句柄
2-8 窗口截图、验证码处理

- 060_截屏
- 061_验证码介绍及处理方式
- 062_cookie相关介绍
- 063_cookie案例实践
第三章 UnitTest框架

3-1 UnitTest基本使用

- 064_为什么使用UnitTest框架
- 065_UnitTest(核心要素)
- 066_TestCase测试用例
- 067_测试套件与测试执行
- 068_TestLoader类的用法
- 069_TestSuite与TestLoader区别
3-2 Fixture

- 070_fixture装置函数
3-3 断言

- 071_assert操作
- 072_断言案例练习框架搭建
- 073_tpshop登录练习
- 074_扩展断言
3-4 参数化

- 075_参数化相关知识
- 076_参数化应用
3-5 跳过

- 077_unittest跳过方法
3-6 生成HTML测试报告

- 078_演示html插件报告来源过程
- 079_html报告生成
- 080_with open
第四章 PO模式

4-1 无模式

- 081_po实践介绍
- 082_v1版本实践
- 083_v2版本实现
4-2 方法封装

- 084_v3页面层实现
- 085_v3业务层实现
4-3 PO模式介绍

- 086_PO模式三者关系
4-4 PO模式实际

- 087_Base类实现
- 088_查找元素方法封装
- 089_扩展元组解包
- 090_Base其他方法封装实现
- 091_page页面框架搭建
- 092_登录页面配置数据准备
- 093_登录页面操作实现
- 094_测试业务实现
- 095_PO效果演示
- 096_PO模式梳理
- 097_base02练习
- 098_查找元素、点击、输入方法封装实现
- 099_page02结构搭建
第五章 数据驱动

5-1 数据驱动介绍

- 100_数据驱动介绍
5-2 json

- 101_json介绍
- 102_json字符串与python对象互转
- 103_读与写
- 104_json文件及读取工具类编写
- 105_json工具读取转换预期格式
5-3 实战

- 106_实战需求
- 107-108_在线计算器 base实现
- 109_在线计算器page页面结构搭建
- 110_page实现
- 111-112_在线计算器scripts实现
- 113-115_数据驱动txt实现
- 116_数据驱动实践
第六章 日志收集

6-1 日志相关概念及基本用法

- 117_日志特点及级别
- 118_logging基本应用
- 119_设置日志格式及输入到文件
- 120_日志的基本应用演示
6-2 日志的高级用法

- 121_高阶用法介绍
- 122_日志器和处理器操作
- 123_时间处理器及格式器应用
- 124_logger封装
- 125_使用单例封装logger日志对象
第七章 项目实战

7-1 自动化测试流程

- 126_自动化测试流程
7-2 项目介绍

- 127_tpshop介绍及自动化涉及模块
7-3 用例设计及项目搭建

- 128_自动化测试结构搭建
- 129_base方法封装实现
- 130_登录用例分析
- 131_登录模块page页面结构搭建
- 132_登录页面配置数据
7-4 代码编写与完善

- 133_登录Page页面代码实现
- 134_登录业务结构搭建及业务逻辑分析
- 135_登录业务脚本实现
- 136_driver封装
- 137_虚拟测试数据效果演示
- 138_数据驱动
- 139_日志封装梳理
- 140_日志应用标记
- 141_日志运行效果
- 142_截图应用
- 143_购物车业务梳理及base页面新增方法
- 144_base购物车新增方法实现
- 145_购物车page页面搭建
- 146_购物车配置页面数据准备
- 147_购物车page页面实现
- 148_添加购物车业务脚本结构搭建
- 149_购物车业务实现
- 150_购物车代码调试运行
- 151_订单模块分析
- 152_订单page页面实现
- 153_订单配置数据整理
- 154_page实现
- 155_订单scripts业务框架搭建
- 156_订单业务代码实践
- 157_解决收件人加载慢问题
- 158_下订单添加 日志
- 159_支付模块流程分析
- 160_切换窗口封装
- 161_支付模块page结构搭建
- 162_支付页面配置信息准备
- 163_支付页面代码实现
- 164_支付scripts页面实现
- 165_支付case运行效果
- 166_生成测试报告
阶段六 移动自动化测试
展开第一章 移动端测试环境搭建

1-1 环境搭建

- 01环境搭建-01-整体思路
- 01环境搭建-02-java环境搭建
- 01环境搭建-03-AndroidSDK环境
- 01环境搭建-04-Android模拟器安装
- 01环境搭建-05-为虚拟机提供安装apk功能
1-2 adb调试工具

- 02adb调试工具-01_adb_构成和工作原理
- 02adb调试工具-02_adb_获取包名界面名
- 02adb调试工具-03_adb_文件传输
- 02adb调试工具-04_adb_获取app启动时间
- 02adb调试工具-05_adb_获取?手机?日志
- 02adb调试工具-06_adb_其他命令
第二章 Appium环境搭建

2-1 Appium环境搭建

- 03-Appium环境搭建-01-Appium介绍和安装
2-2 hello-appium

- 04_hello-appium_01-快速体验
- 04_hello-appium_02-参数详解
第三章 appium基础API讲解

3-1 Appium基础操作

- 05Appium基础操作_01_在脚本内启动其他 app
- 05Appium基础操作_02_获取 app 的包名和界面名
- 05Appium基础操作_03_关闭 app 和 驱动对象
- 05Appium基础操作_04_安装和卸载以及是否安装 app
- 05Appium基础操作_05_将应用置于后台
3-2 UIAutomatorViewer工具

- 06_UIAutomatorViewer_01_UIAutomatorViewer 的使用
3-3 元素定位

- 07_元素定位_01_定位一个元素
- 07_元素定位_02_定位一组元素
- 07_元素定位_03_定位元素的注意点
3-4 元素等待

- 08_元素等待_01_元素等待的概述
- 08_元素等待_02_隐式等待
- 08_元素等待_03_显示等待
- 08_元素等待_04_隐式等待和显式等待的选择
3-5 元素操作

- 09_元素操作_01_点击&输入&清空
- 09_元素操作_02_文本内容&位置&大小
- 09_元素操作_03_根据属性名获取属性值
3-6 滑动和拖拽事件

- 10_滑动和拖拽事件_01_swipe
- 10_滑动和拖拽事件_02_为什么滑动会出现误差
- 10_滑动和拖拽事件_03_scroll&darg_and_drop
- 10_滑动和拖拽事件_04_滑动和拖拽事件的选择
3-7 高级手势

- 11_高级手势_01_轻敲
- 11_高级手势_02_按下和抬起
- 11_高级手势_03_等待
- 11_高级手势_04_长按
- 11_高级手势_05_移动
3-8 手机操作

- 12_手机操作_01_分辨率&截图
- 12_手机操作_02_获取和设置手机网络
- 12_手机操作_03_发送键到设备
- 12_手机操作_04_操作通知栏
第四章 pytest入门

4-1 pytest

- 13_pytest_01_安装和介绍
- 13_pytest_02_运行方式
- 13_pytest_03_setup&teardown
- 13_pytest_04_前置代码的位置
- 13_pytest_05_配置文件
- 13_pytest_06_配置文件注意点
- 13_pytest_07_常用插件_测试报告
- 13_pytest_08_常用插件_控制函数执行顺序
- 13_pytest_09_常用插件_失败重试
- 13_pytest_10_高级用法_跳过测试函数
- 13_pytest_11_高级用法_预期失败
- 13_pytest_12_高级用法_数据参数化_项目准备
- 13_pytest_13_高级用法_数据参数化_单个参数
- 13_pytest_14_高级用法_数据参数化_多个参数
- 13_pytest_15_高级用法_数据参数化_小结
- 13_pytest_16_fixture_使用方式
- 13_pytest_17_fixture_默认运行
- 13_pytest_18_fixture_作用域
- 13_pytest_19_fixture_参数化
- 13_pytest_20_fixture_返回值
第五章 PO

5-1 PO模式

- 14_PO_01-PO简介
- 14_PO_02-项目准备
- 14_PO_03-把测试脚本按照功能进行拆分
- 14_PO_04-抽取前置代码
- 14_PO_05-抽取page
- 14_PO_06-抽取find_element
- 14_PO_07-增加WebDriverWait和默认时间
- 14_PO_08-抽取动作到base_action
- 14_PO_09-不同的元素放在不同page中
- 14_PO_10-page的统一入口
- 14_PO_11-总结
- 14_PO_12-综合案例-短信案例
- 14_PO_13-综合案例-短信案例-参数化
- 14_PO_14-综合案例-通讯录案例
- 14_PO_15-综合案例-通讯录案例-参数化
第六章 yaml数据

6-1 数据驱动

- 15_yaml数据_01_快速体验
- 15_yaml数据_02_字典和列表
- 15_yaml数据_03_字典和列表相互嵌套
- 15_yaml数据_04_强化练习&注意点
- 15_yaml数据_05_其他基本数据类型
- 15_yaml数据_06_数据的读写
- 15_yaml数据_07_数据驱动应用-项目准备
- 15_yaml数据_08_数据驱动应用-数据和用例的对应关系
- 15_yaml数据_09_数据驱动应用-编写数据
- 15_yaml数据_10_数据驱动应用-编写解析方法
- 15_yaml数据_11_关于路径的斜线
- 15_yaml数据_12_数据驱动应用-完善脚本
- 15_yaml数据_13_数据驱动应用-总结
第七章 Allure报告和Jenkins集成

7-1 Allure报告

- 16_allure报告_01_简介和使用
- 16_allure报告_02_参数和命令详解
- 16_allure报告_03_allure和pytest结合-项目准备
- 16_allure报告_04_allure和pytest结合-添加测试步骤
- 16_allure报告_05_allure和pytest结合-添加测试描述
- 16_allure报告_06_allure和pytest结合-添加严重级别
7-2 Jenkins集成

- 17_jenkins_01-jenkins安装-解压缩安装
- 17_jenkins_02-jenkins安装-在线安装
- 17_jenkins_03-jenkins插件安装
- 17_jenkins_04-编写自动化项目
- 17_jenkins_05-将项目上传到 github
- 17_jenkins_06-配置到构建的步骤
- 17_jenkins_07-运行效果
- 17_jenkins_08-构建后操作-报告
- 17_jenkins_09-构建方式
- 17_jenkins_10-关于工作区
- 17_jenkins_11-授权码配置
- 17_jenkins_12-发件人测试邮件配置
- 17_jenkins_13-发件人正式邮件配置
- 17_jenkins_14-收件人配置
第八章 高级应用

8-1 Toast

- 18_Toast_01-Toast-环境搭建
- 18_Toast_02-Toast-获取Toast内容
8-2 webview

- 19_webview_01-通过 chrome 直接连接手机查看
- 19_webview_02-通过 chrome 浏览器查看手机的网页地址
- 19_webview_03-关于查看元素的注意点
- 19_webview_04-实现webview自动化
- 19_webview_05-关于没有对应 chromedriver 的问题
8-3 Monkey

- 20_Monkey_01-Monkey 简介和基本使用
- 20_Monkey_02-Monkey 的参数-启动指定 app
- 20_Monkey_03-Monkey 的参数-日志级别
- 20_Monkey_04-Monkey 的参数-随机数种子
- 20_Monkey_05-Monkey 的参数-事件时间间隔
- 20_Monkey_06-Monkey 的参数-事件百分比
- 20_Monkey_07-Monkey 日志分析
8-4 多线程

- 21_多线程_01-多线程介绍
- 21_多线程_02-多线程的原理
- 21_多线程_03-线程的两种创建方式
- 21_多线程_04-查看线程数量
- 21_多线程_05-为子线程传递参数
- 21_多线程_06-小结
8-5 Appium多端口

- 22_Appium多端口_01-开启多台手机
- 22_Appium多端口_02-Appium原理&开启对应的工具
- 22_Appium多端口_03-多台手机按顺序运行脚本
- 22_Appium多端口_04-多台手机同时运行脚本
- 22_Appium多端口_05-小结
8-6 手机抓包

- 23_手机抓包_01-获取手机 http 协议头的数据
- 23_手机抓包_02-获取手机 https 协议头的数据
- 23_手机抓包_03-Android 手机抓包
- 23_手机抓包_04-小结
8-7 真机调试

- 24_真机调试_01-准备工作
- 24_真机调试_02-操作步骤
- 24_真机调试_03-小结
第九章 项目实战-百年奥莱

9-1 实战

- 25-百年奥莱-01-初始化项目
- 25-百年奥莱-02-登录-基本操作
- 25-百年奥莱-03-登录-参数化
- 25-百年奥莱-04-登录-封装 toast 方法&完善登录脚本
- 25-百年奥莱-05-关于重置应用的问题
- 25-百年奥莱-06-如果没有登录就登录
- 25-百年奥莱-07-滑动找元素-基本实现
- 25-百年奥莱-08-滑动找元素-先找后滑
- 25-百年奥莱-09-滑动找元素-无限循环
- 25-百年奥莱-10-滑动找元素-判断到底部
- 25-百年奥莱-11-滑动找元素-滑动不应该写死
- 25-百年奥莱-12-滑动找元素-封装边滑边找的方法
- 25-百年奥莱-13-滑动找元素-增加寻找的元素参数
- 25-百年奥莱-14-滑动找元素-抽取滑动方法
- 25-百年奥莱-15-滑动找元素-操作取决于调用者
- 25-百年奥莱-16-滑动找元素-移动到base模块中
- 25-百年奥莱-17-版本更新
- 25-百年奥莱-18-清理缓存
- 25-百年奥莱-19-加入vip-基本操作
- 25-百年奥莱-20-加入VIP-轮询查找page_source
- 25-百年奥莱-21-加入VIP-增加超时时间和频率
- 25-百年奥莱-22-加入VIP-移动到 base模块中并修改脚本
- 25-百年奥莱-23-加入VIP-参数化
- 25-百年奥莱-24-增加地址-输入文字信息
- 25-百年奥莱-25-增加地址-选择所在地区并保存
- 25-百年奥莱-26-增加地址-断言脚本
- 25-百年奥莱-27-增加地址-信息输入不完整的情况
- 25-百年奥莱-28-增加地址-参数化
- 25-百年奥莱-29-修改地址-如果没有地址则添加
- 25-百年奥莱-30-修改地址-修改默认地址
- 25-百年奥莱-31-删除地址
- 25-百年奥莱-32-添加购物车 - 点击添加购物车按钮
- 25-百年奥莱-33-添加购物车-选择物品规格
- 25-百年奥莱-34-添加购物车-断言脚本
- 25-百年奥莱-35-增加退出以及失败重试
- 25-百年奥莱-36-test_address报告
- 25-百年奥莱-37-test_clear_cache报告
- 25-百年奥莱-38-test_login报告
- 25-百年奥莱-39-test_shop_cart报告
- 25-百年奥莱-40-test_update报告
- 25-百年奥莱-41-test_vip报告
- 25-百年奥莱-42-检测价格是否正确
- 25-百年奥莱-43-删除全部购物车
- 25-百年奥莱-44-没有物品的时候无法删除
- 25-百年奥莱-45-最近搜索 - 基本操作
- 25-百年奥莱-46-最近搜索 - 搜索结果在热门搜索中的情况
- 25-百年奥莱-47-最近搜索-参数化
- 25-百年奥莱-48-删除搜索记录
阶段七 接口测试
展开第一章 接口测试基础及环境搭建

1-1 接口测试相关概念

- 000-接口测试_综述_学习目标课程安排以及项目展示
- 001-接口测试_导入_为什么学习接口测试
- 002-接口测试_概念_学习目标
- 003-接口测试_概念_接口概念上
- 004-接口测试_概念_接口概念下
- 005-接口测试_接口_概念_小结
- 006-接口测试_接口_作用
- 007-接口测试_接口_实现_API文档简介
- 008-接口测试_概念
- 009-接口测试_作用
- 010-接口测试_实现_流程
- 011-接口测试_分类
- 012-接口测试_阶段总结------------------1---------------
1-2 环境搭建

- 013-接口测试_环境搭建_学习目标------------------2---------------
- 014-接口测试_环境搭建_安装学生管理系统01_项目简介
- 015-接口测试_环境搭建_安装学生管理系统02_项目安装
- 016-接口测试_环境搭建_安装学生管理系统03_数据库查看
- 017-接口测试_环境搭建_安装POSTman01_接口测试工具简介
- 018-接口测试_环境搭建_安装POSTman02_安装实现
- 019-接口测试_环境搭建_安装POSTman03_快速上手
- 020-接口测试_环境搭建_小结------------------2---------------
1-3 RESTful架构风格

- 021-接口测试_RESTful架构风格_学习目标以及导入------------------3---------------
- 022-接口测试_RESTful架构风格_概念以及作用
- 023-接口测试_RESTful架构风格_铺垫知识_三要素_概述
- 024-接口测试_RESTful架构风格_铺垫知识_三要素_要素1定位接口资源之URL
- 024-接口测试_RESTful架构风格_铺垫知识_三要素_要素1定位接口资源之四种请求方式
- 025-接口测试_RESTful架构风格_铺垫知识_三要素_要素2提交参数的两种格式
- 026-接口测试_RESTful架构风格_铺垫知识_三要素_要素3响应结果
- 027-接口测试_RESTful架构风格_实现
- 028-接口测试_RESTful架构风格_练习_接口清单简介
- 029-接口测试_RESTful架构风格_练习01_查
- 030-接口测试_RESTful架构风格_练习02_增
- 031-接口测试_RESTful架构风格_练习03_改
- 032-接口测试_RESTful架构风格_练习04_删
- 033-接口测试_RESTful架构风格_练习_测试BUG演示
- 034-接口测试_RESTful架构风格_总结------------------3---------------
第二章 Jmeter的基本使用及参数化

2-1 Jmeter的基本使用

- 035-接口测试_Jmeter基本使用_学习目标------------------4---------------
- 035-接口测试_Jmeter基本使用_学习目标------------------4---------------
- 036-接口测试_Jmeter基本使用_概念
- 037-接口测试_Jmeter基本使用_特点
- 038-接口测试_Jmeter基本使用_环境搭建_步骤1_安装JAVA
- 039-接口测试_Jmeter基本使用_环境搭建_步骤2_安装配置JMeter
- 040-接口测试_Jmeter基本使用_环境搭建_步骤3_启动运行JMeter
- 041-接口测试_Jmeter基本使用_基本使用流程演示
- 042-接口测试_Jmeter基本使用_组件与元件
- 043-接口测试_Jmeter基本使用_组件之线程组_概念上_进程线程与线程组
- 044-接口测试_Jmeter基本使用_组件之线程组_概念下_并发执行与顺序执行
- 045-接口测试_Jmeter基本使用_组件之线程组_作用
- 046-接口测试_Jmeter基本使用_组件之线程组_实现01_层级结构与执行顺序
- 047-接口测试_Jmeter基本使用_组件之线程组_实现02_属性设置
- 048-接口测试_Jmeter基本使用_组件之线程组_实现03_setUp线程组与tearDown线程组
- 049-接口测试_Jmeter基本使用_组件之线程组_练习01_查
- 050-接口测试_Jmeter基本使用_组件之线程组_练习02_增
- 051-接口测试_Jmeter基本使用_组件之线程组_练习03_改
- 052-接口测试_Jmeter基本使用_组件之线程组_练习04_删
- 053-接口测试_Jmeter基本使用_组件之线程组_练习_优化以及小结
- 054-接口测试_Jmeter基本使用_总结------------------4---------------
2-2 Jmeter参数化

- 055-接口测试_Jmeter参数化_学习目标------------------5---------------
- 056-接口测试_Jmeter参数化_导入
- 057-接口测试_Jmeter参数化_概念以及作用
- 058-接口测试_Jmeter参数化_实现_四种方案简介
- 059-接口测试_Jmeter参数化_实现方案1_用户定义的变量需求描述
- 060-接口测试_Jmeter参数化_实现方案1_用户定义的变量实现
- 061-接口测试_Jmeter参数化_实现方案2_CSV数据文件设置需求描述以及CSV简介
- 062-接口测试_Jmeter参数化_实现方案2_CSV数据文件设置实现思想
- 063-接口测试_Jmeter参数化_实现方案2_CSV数据文件设置_步骤1脚本编写
- 064-接口测试_Jmeter参数化_实现方案2_CSV数据文件设置_步骤2CSV数据文件设计
- 065-接口测试_Jmeter参数化_实现方案2_CSV数据文件设置_步骤3关联脚本与数据
- 066-接口测试_Jmeter参数化_实现方案2_CSV数据文件设置_步骤3优化
- 067-接口测试_Jmeter参数化_实现方案2_CSV数据文件设置_小结
- 068-接口测试_Jmeter参数化_实现方案3_用户参数_需求描述
- 069-接口测试_Jmeter参数化_实现方案3_用户参数_实现以及小结
- 070-接口测试_Jmeter参数化_实现方案4_函数_需求描述
- 071-接口测试_Jmeter参数化_实现方案4_函数_实现流程
- 072-接口测试_Jmeter参数化_实现方案4_函数_常用函数
- 073-接口测试_Jmeter参数化_总结------------------5---------------
第三章 Jmeter响应结果出来及接口业务测试

3-1 Jmeter响应结果处理

- 074-接口测试_Jmeter响应结果处理_学习目标------------------6---------------
- 075-接口测试_Jmeter响应结果处理_导入
- 076-接口测试_Jmeter响应结果处理_直连数据库概念作用
- 077-接口测试_Jmeter响应结果处理_直连数据库_实现步骤1_导jar包
- 078-接口测试_Jmeter响应结果处理_直连数据库_实现步骤2_配置数据库连接信息
- 079-接口测试_Jmeter响应结果处理_直连数据库_实现步骤3_使用JDBC发送请求
- 080-接口测试_Jmeter响应结果处理_直连数据库_实现步骤4_结果提取与搜索
- 081-接口测试_Jmeter响应结果处理_直连数据库_DebugSampler以及小结
- 082-接口测试_Jmeter响应结果处理_断言_概念以及作用
- 083-接口测试_Jmeter响应结果处理_断言_分类
- 084-接口测试_Jmeter响应结果处理_断言_基本使用流程
- 085-接口测试_Jmeter响应结果处理_断言_常用断言演示以及小结
- 086-接口测试_Jmeter响应结果处理_总结------------------6---------------
3-2 接口业务测试

- 087-接口测试_接口业务测试_学习目标------------------7---------------
- 088-接口测试_接口业务测试_导入
- 089-接口测试_接口业务测试_逻辑控制器_概念与作用
- 090-接口测试_接口业务测试_逻辑控制器_实现之如果控制器
- 091-接口测试_接口业务测试_逻辑控制器_实现之forEach控制器
- 092-接口测试_接口业务测试_逻辑控制器_实现之循环控制器
- 093-接口测试_接口业务测试_逻辑控制器_小结
- 094-接口测试_接口业务测试_关联_概念与作用
- 095-接口测试_接口业务测试_关联_实现01_XPath提取器
- 096-接口测试_接口业务测试_关联_实现02_正则表达式提取器
- 097-接口测试_接口业务测试_关联_实现03_XPath与正则表达式提取器比较
- 098-接口测试_接口业务测试_关联_跨线程组关联01_需求描述
- 099-接口测试_接口业务测试_关联_跨线程组关联02_关联失败原因分析以及解决思想
- 100-接口测试_接口业务测试_关联_跨线程组关联03_实现以及小结
- 101-接口测试_接口业务测试_总结------------------7---------------
第四章 接口性能测试及组件总结

4-1 接口性能测试

- 102-接口测试_接口性能测试_学习目标------------------8---------------
- 103-接口测试_接口性能测试_概念
- 104-接口测试_接口性能测试_作用
- 105-接口测试_接口性能测试_实现_集合点组件01_需求
- 106-接口测试_接口性能测试_实现_集合点组件02_基本使用流程
- 107-接口测试_接口性能测试_实现_集合点组件03_注意事项
- 108-接口测试_接口性能测试_实现_常量吞吐定时器01_需求
- 109-接口测试_接口性能测试_实现_常量吞吐定时器02_实现
- 110-接口测试_接口性能测试_分布式_概念以及作用
- 111-接口测试_接口性能测试_分布式_实现01_架构
- 112-接口测试_接口性能测试_分布式_实现02_基本使用
- 113-接口测试_接口性能测试_分布式_实现03_环境配置上
- 114-接口测试_接口性能测试_分布式_实现03_环境配置下
- 115-接口测试_接口性能测试_总结------------------8---------------
4-2 组件总结

- 116-接口测试_组件总结_作用域
- 117-接口测试_组件总结_执行顺序
第五章 Jmeter项目实战

5-1 项目实战

- 118-接口测试_项目实战_学习目标------------------9---------------
- 119-接口测试_项目实战_接口测试流程简介
- 120-接口测试_项目实战_接口测试流程_步骤01_制定测试计划
- 121-接口测试_项目实战_接口测试流程_步骤02_接口清单提取
- 122-接口测试_项目实战_接口测试流程_步骤03_测试用例设计以及参数化覆盖测试用例
- 123-接口测试_项目实战_接口测试流程_步骤0405_脚本实现以及结果比对
- 124-接口测试_项目实战_功能测试_实现01_用例设计原则
- 125-接口测试_项目实战_功能测试_实现02_用例设计
- 126-接口测试_项目实战_功能测试_实现03_参数化覆盖测试用例
- 127-接口测试_项目实战_功能测试_实现04_脚本编写以及运行
- 128-接口测试_项目实战_功能测试_实现05_生成测试报告
- 129-接口测试_项目实战_功能测试_小结
- 130-接口测试_项目实战_自动化测试_概念以及作用
- 131-接口测试_项目实战_自动化测试_设计原则
- 132-接口测试_项目实战_自动化测试_实现01_新增_使用函数生成测试数据断言判断响应结果
- 133-接口测试_项目实战_自动化测试_实现02_删除_跨线程组关联
- 134-接口测试_项目实战_自动化测试_实现03_修改与查询
- 135-接口测试_项目实战_自动化测试_实现04_查询_使用直连数据库实现
- 136-接口测试_项目实战_自动化测试_小结
- 137-接口测试_项目实战_性能测试_概念作用以及设计原则
- 138-接口测试_项目实战_性能测试_场景实现
- 139-接口测试_项目实战_性能测试_测试报告生成
- 140-接口测试_项目实战_总结------------------9---------------
第六章 pymysql及mock测试

6-1 pymysql

- 141-接口自动化测试_pymysql_学习目标------------------10---------------
- 142-接口自动化测试_pymysql_数据库与数据库操作概述_数据库概念与分类
- 143-接口自动化测试_pymysql_python连接数据库常见实现
- 144-接口自动化测试_pymysql_基本操作流程之pymysql安装
- 145-接口自动化测试_pymysql_基本操作流程之图解
- 146-接口自动化测试_pymysql_基本操作流程之数据准备
- 147-接口自动化测试_pymysql_基本操作流程之框架代码
- 147-接口自动化测试_pymysql_基本操作之查
- 148-接口自动化测试_pymysql_基本操作之编码
- 149-接口自动化测试_pymysql_基本操作之增
- 150-接口自动化测试_pymysql_基本操作之改
- 151-接口自动化测试_pymysql_基本操作之删
- 152-接口自动化测试_pymysql_基本操作之事务_概念
- 153-接口自动化测试_pymysql_基本操作之事务_特征
- 154-接口自动化测试_pymysql_基本操作之事务_两种提交机制
- 155-接口自动化测试_pymysql_基本操作之事务_实现上
- 156-接口自动化测试_pymysql_基本操作之事务_实现下
- 157-接口自动化测试_pymysql_基本操作之事务_小结
- 158-接口自动化测试_pymysql_工具类封装
6-2 mock测试

- 159-接口自动化测试_Mock测试_场景导入
- 160-接口自动化测试_Mock测试_概念作用与实现方式
- 161-接口自动化测试_Mock测试_实现上_需求以及步骤描述
- 162-接口自动化测试_Mock测试_实现下_代码编写
- 163-接口自动化测试_Mock测试_小结
- 164-接口自动化测试_总结------------------10---------------
第七章 requests模块

7-1 requests模块

- 165-接口自动化测试_requests_学习目标------------------11---------------
- 166-接口自动化测试_requests_接口自动化测试简介
- 167-接口自动化测试_requests_概念与安装
- 168-接口自动化测试_requests_核心API之查
- 169-接口自动化测试_requests_核心API之增
- 170-接口自动化测试_requests_核心API之改
- 171-接口自动化测试_requests_核心API之删
- 172-接口自动化测试_requests_核心API之响应处理
- 173-接口自动化测试_requests_Cookie与Session实现模型
- 174-接口自动化测试_requests_Cookie_案例需求以及框架代码实现
- 175-接口自动化测试_requests_Cookie_案例具体实现
- 176-接口自动化测试_requests_session_案例优化
- 177-接口自动化测试_requests_集成unittest_需求描述以及流程简介
- 178-接口自动化测试_requests_集成unittest_实现步骤1_框架搭建
- 179-接口自动化测试_requests_集成unittest_实现步骤2_核心API实现
- 180-接口自动化测试_requests_集成unittest_实现步骤3_添加断言
- 181-接口自动化测试_requests_集成unittest_补充_登陆的功能测试实现
- 182-接口自动化测试_requests_总结------------------11---------------
第八章 接口自动化项目实战

8-1 实战

- 183-接口自动化测试_框架_学习目标------------------12---------------
- 184-接口自动化测试_框架_导入
- 185-接口自动化测试_框架_图解以及代码演示
- 186-接口自动化测试_框架_实现01_api与case整合
- 187-接口自动化测试_框架_实现02_data与case整合之parameterized回顾
- 188-接口自动化测试_框架_实现02_data与case整合之数据存储解析与导入
- 189-接口自动化测试_框架_实现02_data与case与api整合
- 190-接口自动化测试_框架_实现03_app.py文件
- 191-接口自动化测试_框架_实现04_run_suite生成测试报告
- 192-接口自动化测试_框架_小结
- 193-接口自动化测试_黑马头条项目_自动化测试流程简介
- 194-接口自动化测试_黑马头条项目_项目简介
- 195-接口自动化测试_黑马头条项目_接口选择以及用例设计
- 196-接口自动化测试_黑马头条项目_功能用例与业务用例解释
- 197-接口自动化测试_黑马头条项目_实现_框架搭建
- 198-接口自动化测试_黑马头条项目_实现_登录功能测试_case代码结构搭建
- 199-接口自动化测试_黑马头条项目_实现_登录功能测试_获取短信验证码
- 200-接口自动化测试_黑马头条项目_实现_登录功能测试_测试数据设计
- 201-接口自动化测试_黑马头条项目_实现_登录功能测试_测试数据读取
- 202-接口自动化测试_黑马头条项目_实现_登录功能测试_api调用
- 203-接口自动化测试_黑马头条项目_实现_登录功能测试_断言判断
- 204-接口自动化测试_黑马头条项目_实现_登录功能测试_登录成功
- 205-接口自动化测试_黑马头条项目_实现_业务测试_获取频道列表
- 206-接口自动化测试_黑马头条项目_实现_业务测试_获取频道下文章
- 207-接口自动化测试_黑马头条项目_实现_业务测试_收藏基本实现
- 208-接口自动化测试_黑马头条项目_实现_业务测试_收藏失败原因分析
- 209-接口自动化测试_黑马头条项目_实现_业务测试_token提取与传递
- 210-接口自动化测试_黑马头条项目_实现_业务测试_收藏实现
- 211-接口自动化测试_黑马头条项目_实现_业务测试_取消收藏实现上
- 212-接口自动化测试_黑马头条项目_实现_业务测试_取消收藏实现下
阶段八 性能测试
展开第一章 性能测试基础

1-1 性能测试概述

- 1-1软件测试基础
- 1-2软件测试分类
- 1-3软件性能指标响应时间及并发数
- 1-4软件性能指标TPS及资源利用率
1-2 性能测试流程

- 1-5性能测试分析
- 1-6性能测试计划和方案
- 1-7性能测试用例编写及执行
第二章 LoadRunner工具使用

2-1 环境搭建及脚本录制

- 2-1Loadrunner工具介绍及安装事项
- 2-2Loadrunner安装及破解
- 2-3-new Loadrunner基本组成
- 2-4-new Loadrunner自带的测试环境
- 2-5-new LoadrunnerVuser介绍
- 2-6Loadrunner协议探测器
- 2-7Loadrunner脚本录制
- 2-8录制配置2种模式
- 2-9录制配置分析
- 2-10脚本组成及函数
- 2-11 脚本运行及查看结果
- 2-12运行时设置run logic
- 2-13运行时设置pacing
- 2-14运行时设置log
- 2-15运行设置think time
- 2-16运行设置Miscellaneous
- 2-17 LoadRunner运行流程
- 2-18总结
- 2-19web_url
- 2-20常用函数web_url
- 2-21函数web_submit_data
- 2-22函数web_custom_request
- 2-23练习
2-2 数据驱动参数化

- 3-1参数化介绍
- 3-2LoadRunner参数化脚本创建
- 3-3LoadRunner参数化视图创建修改后
- 3-4LoadRunner参数化策略介绍
- 3-5顺序与每次迭代
- 3-6顺序与每次出现
- 3-7顺序与只取一次
- 3-8随机与每次迭代
- 3-9随机与每次出现
- 3-10随机与只取一次
- 3-11唯一与每次迭代1
- 3-11唯一与每次迭代2
- 3-11唯一与每次迭代3
- 3-11唯一与每次迭代4
- 3-12唯一与每次出现1
- 3-12唯一与每次出现2
- 3-12唯一与每次出现3
- 3-13唯一与只取一次
- 3-14数据库参数化配置
- 3-15数据库参数化
- 3-16 Date?Time
- 3-17Random Number
- 3-18Unique number
- 3-19常用函数介绍
- 3-20练习
2-3 Loadrunner关联

- 4-1 关联介绍
- 4-2录制中关联
- 4-3录制后关联
- 4-4手动录制
- 4-5高级关联之分析
- 4-6高级关联之脚本编写
- 4-7高级关联之函数
- 4-8高级关联之指定或随机操作
- 4-9关联练习
2-4 性能测试之事务

- 5-1事务介绍及设置
- 5-2事务状态及验证
2-5 检查点及集合点

- 6-1检查点文本检查web_find
- 6-2检查点文本检查web_reg_find
- 6-3图片检查
- 6-4集合点介绍及设置
- 6-5练习1
- 6-5练习2
- 6-6练习3
2-6 场景设计及Controller

- 7-1压力曲线图分析
- 7-2controller介绍及启动
- 7-3controller场景设置
- 7-4压力负载机
- 7-5场景设置策略scenario
- 7-6场景设置策略group
- 7-7场景运行
- 7-8IP欺骗
- 7-9Controller监控
- 7-10Controller命令行启动
2-7 Loadrunner性能数据监控分析

- 8-1监控工具nmon介绍及安装
- 8-2监控工具nmon使用
- 8-3监控工具nmon分析
- 8-4 Analysis介绍及设置
- 8-5 Analysis 摘要报告
- 8-6 SLA分析
- 8-7Analysis图分析
- 8-8 Analysis图高级分析
- 8-9Analysis生成报告
第三章 LoadRunner工具项目实战

3-1 实战

- 9-1开源商城tpshop介绍
- 9-2LNMP环境安装
- 9-3环境配置之虚拟主机配置
- 9-4环境配置tpshop安装及配置
- 9-5性能测试分析
- 9-6性能测试方案编写
- 9-7测试用例的编写
- 9-8测试数据准备python生成数据
- 9-9测试数据准备存储过程
- 9-10性能测试脚本编写-登录
- 9-11性能测试脚本编写-选择分类
- 9-12性能测试脚本编写-单品详情
- 9-13性能测试脚本编写-购物车-修改
- 9-14性能测试脚本编写-提交订单
- 9-15性能测试用例执行-基准测试-登录
- 9-16性能测试用例执行-基准测试-其它用例
- 9-17性能测试用例执行-负载400-登录
- 9-18性能测试用例执行-100并发
- 9-19性能测试报告编写
阶段九 数据结构+单元测试+shell脚本
展开第一章 数据结构和算法

1-1 数据结构算法引入

- 01_学习数据结构算法的原因
- 02_由一道题引入算法的概念
1-2 时间复杂度和空间复杂度

- 03_算法的时间效率衡量
- 04_时间复杂度
- 05_最优最坏时间复杂度
- 06_时间复杂度的计算
- 07_空间复杂度
- 08_常见时间复杂度
- 09_Python列表类型性能测试
- 10_列表字典内置操作的时间复杂度
1-3 数据结构概念

- 11_数据结构的概念
1-4 顺序表

- 12_顺序表的形式
- 13_顺序表的结构与扩充
- 14_顺序表增加删除元素
- 15_Python内置列表的技术实现
- 16_Python列表内置操作时间复杂度分析
- 17_列表元素逆置操作的时间复杂度
1-5 连表

- 01_认识链表
- 02_Python变量的本质
- 03_单向链表的定义
- 04_单向链表盼空、长度、遍历
- 05_单向链表增加结点
- 06_单向链表删除结点
- 07_双向链表
- 08_单向循环链表
1-6 栈和队列

- 01_栈
- 02_队列_双端队列
1-7 常见排序算法

- 03_排序算法的稳定性
- 04_冒泡排序
- 05_冒泡排序实现
- 06_选择排序
- 07_插入排序
- 08_希尔排序
- 09_希尔排序算法实现
- 10_快速排序
- 01_归并排序
- 02_归并算法的时间复杂度
1-8 二分查找

- 03_二分查找递归版本实现
- 04_二分查找及非递归版本实现
1-9 树

- 05_树的认识及概念
- 06_树的应用_数据库索引
- 07_二叉树的概念与性质
- 08_二叉树的广度优先遍历
- 09_二叉树添加结点与广度优先遍历实现
- 10_二叉树的三种深度优先遍历
- 11_二叉树由遍历结果反推二叉树结构
第二章 单元测试

2-1 测试理论回顾

- 01测试理论回顾_
2-2 单元测试介绍

- 02_单元测试优缺点
- 03_单元测试
- 04_单元测试流程
2-3 测试计划

- 05_如何确定要测代码
- 06_语句覆盖率、分支覆盖率
- 07_条件覆盖率
- 08_条件覆盖率_练习3
- 09_条件覆盖率练习4
- 10_路径覆盖率
- 11_分支条件覆盖率
- 12_练习4汇总
- 13_测试计划总结
- 14_自上到下
2-4 测试策略

- 15_测试策略-设计
- 16_测试策略设计
- 17_测试策略设计-案例2
- 18_测试策略设计-案例3
- 19_测试策略设计-案例4_上
- 20_测试策略设计-案例4_下
- 21_测试策略设计-while循环
- 22_测试策略设计-三角形
- 23_测试策略设计-三角形下
- 24_测试策略实现总结
- 01_回顾
2-5 测试执行

- 02_练习Calc类
- 03_参数化概念
- 04_参数化方式
- 05_xml数据文件编写
- 06_xml读取模块封装
- 07_xml数据读取案例
- 08.xml总结
- 09_csv参数化读取封装
- 10_CSV读取演示
- 11_csv总结
- 12_JSON读取分析
- 13_JSON文件编写
- 14_JSON读取函数封装
- 15_JSON-测试三角形函数
- 16_txt创建文本
- 17_TXT读取封装
- 18_TXT执行三角形
- 19_参数化总结
- 20_生成测试报告
第三章 shell编程

3-1 shell简介

- day01.01_shell_课程安排
- day01.02_shell_shell概述_上
- day01.03_shell_shell概述_中_Linux下编写执行流程
- day01.04_shell_shell概述_中_Linux下编写执行流程_练习
3-2 基本语法和变量

- day01.05_shell_shell语法_注释
- day01.06_shell_shell语法_变量_基本使用
- day01.07_shell_shell语法_变量_注意事项
- day01.08_shell_shell语法_变量_分类_本地变量与全局变量
- day01.09_shell_shell语法_变量_分类_内置变量
- day01.10_shell_shell语法_变量_命令结果赋值给变量
- day01.11_shell_shell语法_变量_练习
3-3 运算符

- day01.12_shell_shell语法_运算符_概述
- day01.13_shell_shell语法_运算符_上
- day01.14_shell_shell语法_运算符_下
- day01.15_shell_shell语法_运算符_练习
- day01.16_shell_shell_课堂测试
- day01.17_shell_总结
3-4 shell函数

- day02.01_shell_内容概述
- day02.02_shell_函数_语法
- day02.03_shell_函数_练习1
3-5 流程控制

- day02.04_shell_流程控制_概述
- day02.05_shell_流程控制_if与ifelse
- day02.06_shell_流程控制_ifelif多分支实现
- day02.07_shell_流程控制_if练习
- day02.08_shell_流程控制_case
- day02.09_shell_流程控制_case与if比较
- day02.10_shell_流程控制_case练习
- day02.11_shell_流程控制_for
- day02.12_shell_流程控制_for_练习
- day02.13_shell_流程控制_while
- day02.14_shell_流程控制_while_练习
3-6 shell补充内容

- day02.15_shell_重定向
- day02.16_shell_数组
- day02.17_shell_综合案例
- day02.18_shell_课堂测试
- day02.19_shell_总结