Python 编程语言与 Pytest 测试框架

课程描述

通过本课程的学习,学习者能熟练编写 Python 代码,实现常见的数据处理与算法逻辑,独立完成 Pytest 测试用例的编写,掌握 Allure 报告工具的使用,提升测试报告的质量和可读性,具备自动化测试与质量保证的实际操作能力。

课程收益

通过此次课程培训,可使学习者获得如下收益:

  1. 熟悉 Python 语法与数据结构。
  2. 掌握 Python 面向对象编程。
  3. 掌握常用的内置库和第三方库。
  4. 熟悉 Pytest 框架与常用操作。
  5. 掌握 Pytest 安装与配置。
  6. 熟悉 Pytest 用例编写。
  7. 掌握 Pytest 参数化与调度执行。
  8. 掌握 Pytest 生命周期与数据驱动。
  9. 了解 Pytest 第三方插件与 Hook 函数。
  10. 学会 Allure 安装和 Allure 运行方式。
  11. 掌握 Allure2 添加用例分类、用例描述、用例失败截图、用例日志等。

授课形式

  • 课堂讲授
  • 讲义解析
  • 测试情景模拟
  • 项目实战

讲师介绍

content:
  items:
  - image: https://contest.ceshiren.com/image/%E8%B5%9B%E4%BA%8B%E9%A1%BE%E9%97%AE-%E6%80%9D%E5%AF%92.png
    content:
        header: 思寒老师
        meta:
        - 测吧(北京)科技有限公司CTO
        description:
        - 霍格沃兹测试开发学社创始人
        - 15年+ 测试从业经验的资深测试架构师
        - 曾任职于阿里、百度、美团等名企
        - 开源自动化测试项目AppCrawler作者,多个行业顶级技术会议演讲嘉宾
        - 咨询与培训客户涵盖阿里、京东、小米、华为、工信部、海关总署、中国移动、招商银行等众多企业与机构。
  - image: https://ceshiren.com/uploads/default/original/3X/6/3/63ee2544fe138f966da303412aa846a0124c7b40.jpeg
    content:
        header: AD老师
        meta:
        - 资深测试开发专家
        description:
        - 对互联网金融、区块链、物联网都有深入的测试经验
        - 曾参与华为、信通院、海关等公司的自动化测试与测试平台项目
        - AppCrawler核心维护者,模型驱动测试框架MTF核心维护者
  - image: https://testing-studio.com/image/%E7%AE%A1%E7%90%86%E7%8F%AD%E8%AE%B2%E5%B8%88%E5%A4%B4%E5%83%8F08.jpeg
    content:
        header: 听涛老师
        meta:
        - 某互联网资深测试专家
        description:
        - 10年+互联网行业测试和管理经验
        - 曾就职百度、网易、诺西
        - 创立MTC移动测试平台、精通敏捷、CI/CD、DevOps

Python 编程语言-L1

教学目标
  • 熟悉 Python 基本操作
  • 掌握 Python 基本数据类型
  • 掌握 Python 控制流
  • 掌握 Python 常用数据结构
  • 掌握 Python 面向数据对象的应用
知识点
形式 章节 描述
知识点 Python 环境安装 windows、 mac 安装方式
知识点 PyCharm 环境安装与配置 安装、基本使用、配置方法
知识点 Python 基本操作 缩进与空格、注释、打印、大小写、PEP8 规范
知识点 Python 基本数据类型 变量的定义、Python 基本的数据类型介绍 (整数、浮点数、布尔、字符串(切片、索引))
知识点 Python 字符串基本操作 format,字面量插值、join、split、replace、strip
知识点 Python 的运算符 算数运算符、比较运算符、赋值运算符、逻辑运算符、成员运算符、身份运算符
知识点 Python 控制流-判断 条件表达式 if、elif、else
知识点 Python 控制流-循环 流程控制:while 循环 for 循环 关键字 continue,break,pass
知识点 Python 常用数据结构-列表 列表的的定义与使用、索引和切片、列表推导式
知识点 Python 常用数据结构-元组 元组的定义与使用、常用 api、元组与列表的区别
知识点 Python 常用数据结构-集合 集合的定义与使用、常用 api
知识点 Python 常用数据结构-字典 字典常用方法:get、pop、update、字典推导式
知识点 Python 函数 函数定义与调用、函数返回值、默认参数 关键字传参
知识点 Python 函数进阶与参数处理 不定长参数 args、kwargs 的用法
知识点 Python lambda 表达式 lambda 表达式语法、使用场景
知识点 Python 面向对象概念 面向对象 OOP,类,对象的概念
知识点 Python 类与对象 class 关键字,类属性、实例属性、构造方法、实例方法、类方法、静态方法

Python 编程语言-L2

教学目标
  • 熟悉 Python 封装、继承、多态
  • 掌握 Python 模块与包
  • 掌握 Python 调试与分析方法
  • 掌握 Python 装饰器的的应用
知识点
形式 章节 描述
知识点 Python 封装与 property 装饰器 私有属性,___前缀,计算属性@property
知识点 Python 继承与类型检查 语法,作用,多继承,类型检查
知识点 Python 多态与 super 运算符多态,方法重写,super()
知识点 Python 模块与包 项目目录结构、模块定义、文件引用 import、相对路径与绝对路径
知识点 错误与异常 异常类型、异常捕获 try-catch、finally 使用、raise 使用
知识点 Debug 调试与分析 debug 调试分析、堆栈分析
知识点 Python 类型注解 参数与返回值的类型声明
知识点 Python 数据类 dataclass 语法,使用场景
知识点 Python 内置装饰器 @classmethod、@staticmethod
知识点 Python 装饰器 语法,使用场景

Python 编程语言-L3

教学目标
  • 掌握常用的内置库
  • 掌握常用的第三方库
  • 掌握 Python 的环境管理
知识点
形式 章节 描述
知识点 内置库 os 常用 api:mkdir()、rename()、remove()
知识点 内置库 sys 命令行
知识点 内置库 文件处理 with open、读写操作
知识点 内置库 科学计算 math 模块常用 api
知识点 内置库 日期与时间处理 datetime 常用 api
知识点 内置库 json json.loads()、json.dumps()、 indent 缩进、编码
知识点 内置库 正则表达式 re 正则表达式语法、re.match、findall、compile
知识点 内置库 多线程 threding 多线程
知识点 内置库 Python logging 日志打印配置和使用
知识点 内置库 Python logging 高级使用 日志打印配置和使用
知识点 venv 环境管理 venv
知识点 pip 环境管理 pip、requirements
知识点 常用第三方库 yaml yaml 文件格式规范、yaml 常用 api
知识点 常用第三方库 pymysql 数据库的连接、CRUD 等操作
知识点 常用第三方库 urllib3 url 解析、解码、编码

Pytest 测试框架-L1

教学目标
  • 熟悉 Pytest 框架与常用操作
  • 掌握 Pytest 安装与配置
  • 掌握 Pytest 编写自动化测试用例规则
  • 掌握 Pytest 编写用例的结构与断言
  • 掌握 Pytest 自动测试实战能力
知识点
形式 章节 描述
知识点 Pytest 简介、安装与准备 Pytest 简介、Pytest 环境安装,运行第一个测试脚本
知识点 Pytest 命名规则 模块命名、类命名、方法命名
知识点 pycharm 配置与界面化运行 配置与界面化运行
知识点 Pytest 测试用例结构 测试用例名字、步骤、断言
知识点 Pytest 测试用例断言 常用断言类型 assert
知识点 Pytest 测试框架结构 模块级、函数级、类级、方法级、测试用例之间的顺序

Pytest 测试框架-L2

教学目标
  • 熟悉 Pytest 参数化与基本装饰器用法
  • 掌握 Pytest 测试用例调度与运行
  • 掌握 Pytest 命令行执行与命令行常用参数
  • 掌握 Pytest 异常处理
知识点
形式 章节 描述
知识点 Pytest 参数化用例 单参数、多参数、用例重命名
知识点 Pytest 标记测试用例 添加用例标签
知识点 Pytest 设置跳过、预期失败用例 用例跳过、skip、skipif、xfail
知识点 Pytest 运行用例 运行多条用例/文件/包、运行指定测试用例、执行结果分析
知识点 Pytest 测试用例调度与运行 测试用例的收集、选取与运行
知识点 Pytest 命令行常用参数 常用参数说明
知识点 Python 执行 Pytest 利用 Python 代码执行 Pytest 用例
知识点 Pytest 异常处理 assert,python try...except,异常断言  

Pytest 测试框架-L3

教学目标
  • 熟悉 Pytest 结合数据驱动用法
  • 掌握 Pytest 测试用例生命周期管理
  • 掌握 Pytest fixture 实现参数化
知识点
形式 章节 描述
知识点 Pytest 结合数据驱动-yaml 利用外部数据源 YAML 管理测试
知识点 Pytest 结合数据驱动-excel 利用外部数据源 EXCEL 管理测试
知识点 Pytest 结合数据驱动-csv 利用外部数据源 CSV 管理测试
知识点 Pytest 结合数据驱动-json 利用外部数据源 JSON 管理测试
知识点 Pytest 测试用例生命周期管理(一) fixture 作为参数使用
知识点 Pytest 测试用例生命周期管理(二) fixture 作用范围
知识点 Pytest 测试用例生命周期管理(三) yield 用法
知识点 Pytest 测试用例生命周期管理-自动注册 conftest.py 配置文件的使用
知识点 Pytest 测试用例生命周期管理-自动生效 autouse 参数的用法
知识点 Pytest fixture 实现参数化 通过 fixture 实现参数化

Pytest 测试框架-L4

教学目标
  • 熟悉 Pytest 配置文件
  • 掌握 Pytest 第三方插件
  • 掌握 Pytest hook 函数以及插件开发
知识点
形式 章节 描述
知识点 Pytest 配置文件【进阶】 Pytest.ini 配置文件、添加默认参数
知识点 Pytest 插件 【进阶】 Pytest 插件的种类
知识点 Pytest 测试用例执行顺序自定义 Pytest-ordering【进阶】 Pytest-ordering
知识点 Pytest 测试用例并行运行与分布式运行【进阶】 Pytest-xdist
知识点 Pytest 内置插件 hook 体系【进阶】 内置插件(hook 函数)
知识点 Pytest 插件开发【进阶】 Pytest 插件开发、参数详解、打包发布

Allure2 测试报告-L1

教学目标
  • 掌握 Allure 安装
  • 掌握 Allure 运行方式
知识点
形式 章节 描述
知识点 Allure2 安装 Allure2 与相关依赖安装
知识点 Allure2 运行方式 Allure2 运行方式

Allure2 测试报告-L2

教学目标
  • 掌握 Allure2 添加用例分类、用例描述的能力
  • 掌握测试报告定制能力
知识点
形式 章节 描述
知识点 Allure2 报告生成 Allure2 生成测试报告
知识点 Allure2 报告中添加用例标题 测试报告添加用例的标题
知识点 Allure2 报告中添加用例步骤 添加测试测试步骤,通过调用方法实现、通过装饰器实现,以及结合参数化
知识点 Allure2 报告中添加用例链接 测试报告添加超链接
知识点 Allure2 报告中添加用例分类 添加测试类别划分
知识点 Allure2 报告中添加用例描述 测试报告添加用例的描述
知识点 Allure2 报告中添加用例优先级 测试报告添加用例的优先级
知识点 Allure2 报告中添加用例支持 tags 标签 测试报告中添加用例支持 tags 标签,例如 xfail、skipif 等
知识点 Allure2 报告中支持记录失败重试功能 测试报告中支持第三方插件 reruns=num 参数,并记录用例失败的次数以及原因

Allure2 测试报告-L3

教学目标
  • 掌握 Allure2 添加用例失败截图、用例日志、html 块、视频的能力
  • 掌握测试报告定制能力
知识点
形式 章节 描述
知识点 Allure2 报告中添加附件-图片 测试报告添加截图
知识点 Allure2 报告中添加附件-日志 测试报告添加日志
知识点 Allure2 报告中添加附件-html 测试报告添加 html 块
知识点 Allure2 报告中添加附件-视频 测试报告添加视频

Allure2 测试报告-L4

教学目标
  • 掌握测试报告定制能力
知识点
形式 章节 描述
知识点 Allure2 报告定制 定制测试报告 Logo,样式等