课程介绍

适合人群:

1,在校学生 2、测试岗位 3、具有一定python语言基础

你将会学到:

学会采用unittest,pytest,selenium完成ui自动化测试,搭建ui自动化测试框架

  • 学会unittest自动化测试框架
  • 学会pytest自动化测试框架
  • 学会selinium与web自动化测试
  • 学会自动化中pom设计思想
  • 学会自动化中数据驱动思想
  • 学会自动化关键字设计思想
  • 学会独立完成自动化测试
  • 搭建ui自动化测试框架

课程内容:

unittest:自动化测试介绍、环境搭建、流程设计、逻辑设计、断言、结果输出、ddt 数据驱动

pytest:固件设计、fixture 使用、pytest.ini 与参数化、内置函数与断言、与 doctest 集成、结果输出、Hook 与插件

selenium:元素定位、元素交互、事件交互、窗口操作、JS 应用、pytest&unittest 集成、pom 设计、关键字设计、selenium-ide与分布式grid两个综合应用实例:开发平台综合实例、股票项目综合实例

课程目录

第1章 课程简介
1-1 课程简介

第2章 自动化测试介绍
2-1 自动化测试&场景
2-2 自动化测试知识点
2-3 unittest主要介绍

第3章 环境搭建说明
3-1 Python环境安装
3-2 PyCharm开发环境
3-3 Vscode开发环境

第4章 unittest入门实例
4-1 书写第一个用例
4-2 pycharm 运行用例
4-3 vscode运行用例
4-4 unittest模式运行
4-5 模块方式运行用例
4-6 运行流程与原理

第5章 采用固件设计流程
5-1 先看演示实例
5-2 固件列表说明
5-3 用例执行顺序
5-4 固件最佳实践

第6章 unittest中的逻辑
6-1 忽略部分用例
6-2 复用已有代码
6-3 测试迭代的使用

第7章 用例的分组与加载
7-1 用例聚合分组
7-2 用例多方式加载
7-3 discover加载演示
7-4 按名称加载演示
7-5 类型模块加载演示

第8章 用例运行方式介绍
8-1 用例运行方式介绍
8-2 main分组运行方式
8-3 main参数方式运行
8-4 main探索方式运行

第9章 unittest中的断言
9-1 基础常用断言
9-2 消息类断言
9-3 检查类断言

第10章 测试结果输出
10-1 TextTestResult输出
10-2 Htmltestrunner
10-3 BeautifulReport

第11章 ddt集成使用
11-1 什么是ddt
11-2 安装&入门实例
11-3 data与unpack
11-4 json加载数据
11-5 yaml加载数据
11-6 csv加载数据

第12章 unittest总结
12-1 unittest总结

第13章 pytest主要介绍
13-1 pytest主要介绍

第14章 pytest入门实例
14-1 书写第一个用例
14-2 编程工具运行
14-3 命令行运行用例
14-4 通过主函数运行

第15章 pytest固件设计
15-1 固件列表说明
15-2 固件演示实例
15-3 用例执行顺序

第16章 fixture的基础使用
16-1 fixture入门场景
16-2 fixture执行方式
16-3 fixture的作用域
16-4 跨模块共享fixture
16-5 fixture销毁方式
16-6 fixture的安全销毁
16-7 fixture标志传参
16-8 fixture参数化
16-9 fixture工厂模式
16-10 fixture模块化
16-11 fixture使用总结

第17章 pytest.ini与标志
17-1 主要配置介绍
17-2 默认命令行样例
17-3 目录规则样例
17-4 执行规则更改
17-5 注册自定义标志

第18章 pytest参数化介绍
18-1 fixture函数参数化
18-2 入门&多个参数
18-3 与fixture混合使用
18-4 ids别名的使用
18-5 叠加使用实例
18-6 间接参数实例
18-7 指定间接参数
18-8 mark标志参数
18-9 控制台传参1
18-10 控制台传参2
18-11 场景化参数
18-12 类配置化参数
18-13 yaml读取参数
18-14 json读取参数
18-15 csv加载数据

第19章 pytest中内置函数
19-1 常用内置函数
19-2 skip跳过用例
19-3 skipif跳过用例
19-4 xfail预失败标志
19-5 警告相关基础
19-6 pytest配置过滤警告
19-7 filterwarnings过滤

第20章 pytest中的断言
20-1 pytest中的断言

第21章 与外部框架集成
21-1 doctest介绍
21-2 doctest集成&配置
21-3 对unittest支持

第22章 测试结果和输出
22-1 日志格式&输出
22-2 pt-reportlog输出
22-3 生成junitXML
22-4 生成pytest-html
22-5 allure-pytest报告
22-6 与jenkins集成

第23章 pytest常用插件
23-1 ordering顺序控制
23-2 xdist多线程运行
23-3 pytest-dependency
23-4 pytest-rerunfailures
23-5 pytest-assume
23-6 pytest-random-order

第24章 Hook函数详解
24-1 Hook函数介绍
24-2 Hook编码修改演示
24-3 结果定制器演示
24-4 Hook个性参数演示
24-5 Hook报告汇总演示
24-6 Hook用例流程分析
24-7 自定义Hook实现

第25章 pytest插件开发
25-1 编写本地插件
25-2 编写外部插件
25-3 插件打包安装
25-4 插件自定义Hook

第26章 unittest对比pytest
26-1 unittest对比pytest

第27章 Selenium整体介绍
27-1 Selenium整体介绍

第28章 Selenium环境搭建
28-1 Selinum环境搭建

第29章 Selenium元素定位
29-1 HTML&元素定位
29-2 元素定位id与name方式
29-3 元素定位-class name
29-4 元素定位-tag name
29-5 简单选择器&演示
29-6 组合器选择器&演示
29-7 伪类选择器&演示
29-8 属性选择器&演示
29-9 元素定位-超链接类
29-10 元素定位-xpath定位1
29-11 元素定位-xpath 定位2
29-12 传统定位方式总结
29-13 css&xpath定位总结
29-14 Selenium相对定位
29-15 万能javascript定位
29-16 万能代码选择器定位
29-17 多种定位方式演示

第30章 Selenium元素交互
30-1 操作ChexkBox
30-2 操作RadioBox
30-3 操作Form表单
30-4 操作下拉列表
30-5 读取元素信息

第31章 Selenium事件交互
31-1 键盘事件
31-2 鼠标事件
31-3 滚动事件

第32章 Selenium窗口操作
32-1 浏览器操作
32-2 iframe操作
32-3 窗口-打开与关闭
32-4 窗口-窗口管理
32-5 窗口-截图操作

第33章 Selenium其它操作
33-1 对话框-alert
33-2 对话框-confirm
33-3 Cookie操作
33-4 文件上传
33-5 异步等待方式

第34章 Selenium之JS应用
34-1 JS使用场景
34-2 JS同步执行
34-3 JS异步等待
34-4 JS之化繁为简
34-5 JS实现H5拖曳
34-6 JS绕过验证码
34-7 JS深入思考

第35章 与unittest集成
35-1 ut集成概述
35-2 用ut设计流程
35-3 用ut分组用例
35-4 ddt数据驱动

第36章 与pytest集成
36-1 固件设计流程
36-2 pyt分组用例
36-3 pyt参数化设计
36-4 pyt收集用例结果
36-5 与jenkins集成

第37章 pom设计分层
37-1 pom模式简介
37-2 pom模式过程
37-3 百度演示案例
37-4 pom模式架构

第38章 关键字驱动设计
38-1 关键字驱动简介
38-2 常用设计方法
38-3 百度演示案例
38-4 深入三种模式

第39章 开发平台综合案例
39-1 需求&用例测试
39-2 完整的测试项目

第40章 股票项目综合案例
40-1 股票项目综合案例

第41章 Selenium-ide
41-1 ide简介&环境安装
41-2 ide入门样例
41-3 流程控制-条件
41-4 流程控制-循环
41-5 ide控制台运行

第42章 分布式Grid应用
42-1 grid简介
42-2 环境搭建
42-3 独立模式
42-4 Hub+Node
42-5 Distributed
42-6 远程测试样例
42-7 个性化样例

第43章 selenium最佳实践
43-1 selenium最佳实践