如果你已经会用 Python 写点脚本,却一直没敢碰 UI 自动化,或者写过几个 Selenium 脚本但只能自己在本机跑一跑,那这门课值得先看一眼。它不讲 Python 语法,也不教测试理论基础,而是把「怎么把零散的浏览器操作变成一套别人也能维护、能反复跑的自动化代码」这件事讲透。换句话说,它的前提是你已经能读懂 Python 代码,缺的是工程化的那一步。

它解决的是哪类工作场景

最典型的场景是回归测试:每次发版前,登录、下单、审批这些主流程都要人工点一遍,费时且容易漏。这门课要训练的能力,就是把这些重复操作交给脚本,并且让脚本在断言失败时给出明确结果,而不是靠肉眼看控制台。另一个场景是团队协作——你写的测试用例,同事要能接着改。课程里 POM(页面对象模型)和关键字设计两部分,处理的就是这个需求:把页面元素和操作逻辑分开,改一个按钮定位不用翻遍所有脚本。

学完能独立做什么

按课程的组织方式,学完应该能做到三件事。第一,用 Selenium 完成元素定位、点击输入、窗口切换、滚动等常见交互,处理 iframe 和弹窗这类容易卡住新手的情况。第二,用 unittest 和 pytest 两套框架分别组织用例:unittest 侧会讲到断言、结果输出和数据驱动(ddt),pytest 侧会讲到 fixture 固件、参数化、pytest.ini 配置以及钩子与插件。两套都过一遍,好处是换团队时不会因为框架不同而重学。第三,搭出一个可用的 UI 自动化框架雏形,包含用例分层、配置管理和报告输出。这一点是这门课和零散教程的主要差别。

资料适合什么基础的人

  • 适合:有 Python 基础、看得懂函数和类,但没系统写过自动化测试的测试岗或转行者;在校学生如果已经学过 Python,也可以跟,但需要自己补一点测试用例设计的基本概念。
  • 需要留意:完全没有 Python 基础的话,前半段会比较吃力,建议先把语法过一遍再来。
  • 不必担心:不需要事先了解 pytest 或 unittest,课程从框架本身的用法讲起。

两个综合实例的价值

课程末尾安排了 selenium-ide 和分布式 grid 两个应用实例。前者适合快速录制、再改造成可维护脚本,用于理解录制工具和手写代码之间的差距;后者涉及多节点并行执行,是当用例数量涨到几百条、单机跑不完时会遇到的实际问题。这两个实例不一定马上用得上,但能让你知道框架往后可以长成什么样,避免把自动化写成只能在家用电脑上跑的东西。

怎么用这份资料更划算

建议不要顺着看完再动手。Selenium 元素定位和 unittest 断言这两块,边看边在自己的练习站点上写,写完故意改错定位,观察报错信息长什么样——排查失败用例是自动化测试的日常。pytest 部分可以放到第二遍再看,因为它的 fixture 和参数化机制,在没有实际用例量的时候不容易体会到好处。最后搭框架那部分,最好找一个自己熟悉的小网站从头搭一遍,而不是照抄代码。

课程目录

课程目录193 集
  • 01 课程简介 01 课程简介.mp4
  • 02 自动化测试介绍 01 自动化测试&场景.mp4
  • 02 自动化测试知识点.mp4
  • 03 unittest主要介绍.mp4
  • 03 环境搭建说明 01 Python环境安装.mp4
  • 02 PyCharm开发环境.mp4
  • 03 Vscode开发环境.mp4
  • 04 unittest入门实例 01 书写第一个用例.mp4
  • 02 pycharm 运行用例.mp4
  • 03 vscode运行用例.mp4
  • 04 unittest模式运行.mp4
  • 05 模块方式运行用例.mp4
  • 06 运行流程与原理.mp4
  • 05 采用固件设计流程 01 先看演示实例.mp4
  • 02 固件列表说明.mp4
  • 03 用例执行顺序.mp4
  • 04 固件最佳实践.mp4
  • 06 unittest中的逻辑 01 忽略部分用例.mp4
  • 02 复用已有代码.mp4
  • 03 测试迭代的使用.mp4
  • 07 用例的分组与加载 01 用例聚合分组.mp4
  • 02 用例多方式加载.mp4
  • 03 discover加载演示.mp4
  • 04 按名称加载演示.mp4
  • 05 类型模块加载演示.mp4
  • 08 用例运行方式介绍 01 用例运行方式介绍.mp4
  • 02 main分组运行方式.mp4
  • 03 main参数方式运行.mp4
  • 04 main探索方式运行.mp4
  • 09 unittest中的断言 01 基础常用断言.mp4
  • 02 消息类断言.mp4
  • 03 检查类断言.mp4
  • 10 测试结果输出 01 TextTestResult输出.mp4
  • 02 Htmltestrunner.mp4
  • 03 BeautifulReport.mp4
  • 11 ddt集成使用 01 什么是ddt.mp4
  • 02 安装&入门实例.mp4
  • 03 data与unpack.mp4
  • 04 json加载数据.mp4
  • 05 yaml加载数据.mp4
  • 06 csv加载数据.mp4
  • 12 unittest总结 01 unittest总结.mp4
  • 13 pytest主要介绍 01 pytest主要介绍.mp4
  • 14 pytest入门实例 01 书写第一个用例.mp4
  • 02 编程工具运行.mp4
  • 03 命令行运行用例.mp4
  • 04 通过主函数运行.mp4
  • 15 pytest固件设计 01 固件列表说明.mp4
  • 02 固件演示实例.mp4
  • 03 用例执行顺序.mp4
  • 16 fixture的基础使用 01 fixture入门场景.mp4
  • 02 fixture执行方式.mp4
  • 03 fixture的作用域.mp4
  • 04 跨模块共享fixture.mp4
  • 05 fixture销毁方式.mp4
  • 06 fixture的安全销毁.mp4
  • 07 fixture标志传参.mp4
  • 08 fixture参数化.mp4
  • 09 fixture工厂模式.mp4
  • 10 fixture模块化.mp4
  • 11 fixture使用总结.mp4
  • 17 pytest.ini与标志 01 主要配置介绍.mp4
  • 02 默认命令行样例.mp4
  • 03 目录规则样例.mp4
  • 04 执行规则更改.mp4
  • 05 注册自定义标志.mp4
  • 18 pytest参数化介绍 01 fixture函数参数化.mp4
  • 02 入门&多个参数.mp4
  • 03 与fixture混合使用.mp4
  • 04 ids别名的使用.mp4
  • 05 叠加使用实例.mp4
  • 06 间接参数实例.mp4
  • 07 指定间接参数.mp4
  • 08 mark标志参数.mp4
  • 09 控制台传参1.mp4
  • 10 控制台传参2.mp4
  • 11 场景化参数.mp4
  • 12 类配置化参数.mp4
  • 13 yaml读取参数.mp4
  • 14 json读取参数.mp4
  • 15 csv加载数据.mp4
  • 19 pytest中内置函数 01 常用内置函数.mp4
  • 02 skip跳过用例.mp4
  • 03 skipif跳过用例.mp4
  • 04 xfail预失败标志.mp4
  • 05 警告相关基础.mp4
  • 06 pytest配置过滤警告.mp4
  • 07 filterwarnings过滤.mp4
  • 20 pytest中的断言 01 pytest中的断言.mp4
  • 21 与外部框架集成 01 doctest介绍.mp4
  • 02 doctest集成&配置.mp4
  • 03 对unittest支持.mp4
  • 22 测试结果和输出 01 日志格式&输出.mp4
  • 02 pt-reportlog输出.mp4
  • 03 生成junitXML.mp4
  • 04 生成pytest-html.mp4
  • 05 allure-pytest报告.mp4
  • 06 与jenkins集成.mp4
  • 23 pytest常用插件 01 ordering顺序控制.mp4
  • 02 xdist多线程运行.mp4
  • 03 pytest-dependency.mp4
  • 04 pytest-rerunfailures.mp4
  • 05 pytest-assume.mp4
  • 06 pytest-random-order.mp4
  • 24 Hook函数详解 01 Hook函数介绍.mp4
  • 02 Hook编码修改演示.mp4
  • 03 结果定制器演示.mp4
  • 04 Hook个性参数演示.mp4
  • 05 Hook报告汇总演示.mp4
  • 06 Hook用例流程分析.mp4
  • 07 自定义Hook实现.mp4
  • 25 pytest插件开发 01 编写本地插件.mp4
  • 02 编写外部插件.mp4
  • 03 插件打包安装.mp4
  • 04 插件自定义Hook.mp4
  • 26 unittest对比pytest 01 unittest对比pytest.mp4
  • 27 Selenium整体介绍 01 Selenium整体介绍.mp4
  • 28 Selenium环境搭建 01 Selinum环境搭建.mp4
  • 29 Selenium元素定位 01 HTML&元素定位.mp4
  • 02 元素定位id与name方式.mp4
  • 03 元素定位-class name.mp4
  • 04 元素定位-tag name.mp4
  • 05 简单选择器&演示.mp4
  • 06 组合器选择器&演示.mp4
  • 07 伪类选择器&演示.mp4
  • 08 属性选择器&演示.mp4
  • 09 元素定位-超链接类.mp4
  • 10 元素定位-xpath定位1.mp4
  • 11 元素定位-xpath 定位2.mp4
  • 12 传统定位方式总结.mp4
  • 13 css&xpath定位总结.mp4
  • 14 Selenium相对定位.mp4
  • 15 万能javascript定位.mp4
  • 16 万能代码选择器定位.mp4
  • 17 多种定位方式演示.mp4
  • 30 Selenium元素交互 01 操作ChexkBox.mp4
  • 02 操作RadioBox.mp4
  • 03 操作Form表单.mp4
  • 04 操作下拉列表.mp4
  • 05 读取元素信息.mp4
  • 31 Selenium事件交互 01 键盘事件.mp4
  • 02 鼠标事件.mp4
  • 03 滚动事件.mp4
  • 32 Selenium窗口操作 01 浏览器操作.mp4
  • 02 iframe操作.mp4
  • 03 窗口-打开与关闭.mp4
  • 04 窗口-窗口管理.mp4
  • 05 窗口-截图操作.mp4
  • 33 Selenium其它操作 01 对话框-alert.mp4
  • 02 对话框-confirm.mp4
  • 03 Cookie操作.mp4
  • 04 文件上传.mp4
  • 05 异步等待方式.mp4
  • 34 Selenium之JS应用 01 JS使用场景.mp4
  • 02 JS同步执行.mp4
  • 03 JS异步等待.mp4
  • 04 JS之化繁为简.mp4
  • 05 JS实现H5拖曳.mp4
  • 06 JS绕过验证码.mp4
  • 07 JS深入思考.mp4
  • 35 与unittest集成 01 ut集成概述.mp4
  • 02 用ut设计流程.mp4
  • 03 用ut分组用例.mp4
  • 04 ddt数据驱动.mp4
  • 36 与pytest集成 01 固件设计流程.mp4
  • 02 pyt分组用例.mp4
  • 03 pyt参数化设计.mp4
  • 04 pyt收集用例结果.mp4
  • 05 与jenkins集成.mp4
  • 37 pom设计分层 01 pom模式简介.mp4
  • 02 pom模式过程.mp4
  • 03 百度演示案例.mp4
  • 04 pom模式架构.mp4
  • 38 关键字驱动设计 01 关键字驱动简介.mp4
  • 02 常用设计方法.mp4
  • 03 百度演示案例.mp4
  • 04 深入三种模式.mp4
  • 39 开发平台综合案例 01 需求&用例测试.mp4
  • 02 完整的测试项目.mp4
  • 40 股票项目综合案例 01 股票项目综合案例.mp4
  • 41 Selenium-ide 01 ide简介&环境安装.mp4
  • 02 ide入门样例.mp4
  • 03 流程控制-条件.mp4
  • 04 流程控制-循环.mp4
  • 05 ide控制台运行.mp4
  • 42 分布式Grid应用 01 grid简介.mp4
  • 02 环境搭建.mp4
  • 03 独立模式.mp4
  • 04 Hub+Node.mp4
  • 05 Distributed.mp4
  • 06 远程测试样例.mp4
  • 07 个性化样例.mp4
  • 43 selenium最佳实践 01 selenium最佳实践.mp4