基础
Python - 头部解析
Python - 导入的位置
Python - 执行顺序、执行入口
Python - 变量
Python - 变量的作用域
Python - 常用内置变量
Python - 算术运算符
Python - //和/的区别
Python - 赋值运算符
数据类型相关
Python - 基础数据类型 Number 数字、bool 布尔、complex 复数
Python - 基础数据类型 str 字符串
Python - 字符串常用函数详解
Python - 字符串格式化详解(%、format)
Python - r'', b'', u'', f'' 的含义
Python - bytes与字符串的相互转化
Python - 判断一个字符串是否包含某个指定的字符串
Python - 字符串 encode
Python - 基础数据类型 list 列表
Python - 如何将 list 列表作为数据结构使用
Python - list 列表常见方法
Python - 基础数据类型 tuple 元组
Python - 可变和不可变对象
Python - 基础数据类型 dict 字典
Python - dict 字典的多种遍历方式
Python - dict 字典常见方法
Python - 基础数据类型 set 集合
Python - 对象赋值、浅拷贝、深拷贝的区别
Python - 浅拷贝的四种实现方式
循环相关
Python - 详解 range()
Python - for 循环
Python - if 条件控制
Python - while 循环
Python - break、continue 的使用
函数相关
Python - 函数
Python - 函数形参之必填参数、默认参数、可变参数、关键字参数的详细使用
Python - 基本数据处理函数round()、int()、floor()、ceil()
Python - 解包的各种骚操作
Python - 3.8 新特性之仅位置参数 & 仅关键字参数
Python - 函数实战
Python - lambda 表达式
Python - repr()、str() 的区别
Python - eval()
Python - bytes()
面向对象编程
Python - 面向对象编程 - 什么是对象和类
Python - 面向对象编程 - 什么是 Python 类、类对象、实例对象
Python - 面向对象编程 - __init__() 构造方法
Python - 面向对象编程 - __del__() 析构方法
Python - 面向对象编程 - self 参数
Python - 面向对象编程 - 小实战(1)
Python - 面向对象编程 - 类变量、实例变量/类属性、实例属性
Python - 面向对象编程 - 实例方法、静态方法、类方法
Python - 面向对象编程 - __str__()
Python - 面向对象编程 - __repr__()
Python - 面向对象编程 - 公共属性、保护属性、私有属性
Python - 面向对象编程 - 小实战(2)
Python - 面向对象编程 - 小实战(3)
Python - 面向对象编程 - 三大特性之封装
Python - 面向对象编程 - @property
Python - 面向对象编程 - 实战(4)
Python - 面向对象编程 - 三大特性之继承
Python - 面向对象编程 - 子类方法的重写
Python - 面向对象编程 - 新式类和旧式类
Python - 面向对象编程 - 多继承
Python - 面向对象编程 - super()
Python - 面向对象编程 - 使用 super() 的一些注意事项
Python - 面向对象编程 - MRO 方法搜索顺序
Python - 面向对象编程 - 三大特性之多态
Python - 面向对象编程 - 实战(5)
Python - 面向对象编程 - __call__()
Python - 面向对象编程 - __new__() 和单例模式
Python - 面向对象编程 - 魔术方法(双下划线方法)
Python - 面向对象编程 - 实战(6)
Python - 模块与包
Python - 错误和异常
文件相关
Python - with open()、os.open()、open()的详细使用
Python - 文件读取read()、readline()、readlines()区别
Python - os.walk()详细使用
Python - 文件模式a+读取不了文件
Python - 批量修改文件名
高级点的
Python - 多线程、多进程
Python 高级特性(1)- 切片
Python 高级特性(2)- 可迭代对象 iterable
Python 高级特性(3)- 列表生成式
Python 高级特性(4)- 生成器 generator
Python 高级特性(5)- 迭代器 Iterator
typing、类型提示
Python -类型提示 Type Hints
Python - typing 模块 —— 常用类型提示
Python - typing 模块 —— 类型别名
Python - typing 模块 —— NewType
Python - typing 模块 —— Callable
Python - typing 模块 —— Any Type
Python - typing 模块 —— TypeVar 泛型
Python - typing 模块 —— Union
Python - typing 模块 —— Optional
Pydantic
Python - pydantic 入门介绍与 Models 的简单使用
新奇的 Python 库
Python - random 库的详细使用
Python - logging 日志库
Python - 超好用的第三方库pathlib,快速获取项目中各种路径
Python - loguru日志库,高效输出控制台日志和日志记录
Python - 通过PyYaml库操作YAML文件
Python - 常⽤的操作 excel 第三方库
Python - os库
Python - 执行cmd命令
Python - 进度条库 tqdm
常见问题解决方案
Python常见问题 - 使用openpyxl模块时出现错误: zipfile.BadZipFile: File is not a zip file
Python常见问题 - 写入数据到 excel 报 ValueError: invalid literal for int() with base 10 错误
做项目可能会用到的
Python - 生成 requirement.txt 文件
Python - pip 常用命令
Python - pipupgrade 库
Python - pip-review 库
Python - pip 批量更新
数据库相关
Python - 操作 MySQL 数据库
新人写的不着调工具类
仅做记录,不值得参考
Python工具类(一)—— 操作Mysql数据库
Python工具类(二)—— 操作时间相关
很low的基础习题集
Python习题集(一)
Python习题集(二)
Python习题集(三)
Python习题集(四)
Python习题集(五)
Python习题集(六)
Python习题集(七)
Python习题集(八)
Python习题集(九)
Python习题集(十)
Python习题集(十一)
Python习题集(十二)
Python习题集(十三)
Python习题集(十四)
Python习题集(十五)
Python习题集(十六)
接口自动化
python接口自动化测试 - configparser配置文件解析器详细使用
python接口自动化测试 - openpyxl封装类
python接口自动化测试 - openpyxl基本使用
python接口自动化测试 - unittest框架基本使用
python接口自动化测试 - unittest框架suite、runner详细使用
python接口自动化测试 - mock模块基本使用介绍
python接口自动化测试 - requests库的post请求进行文件下载
python接口自动化测试 - requests库的post请求进行文件上传
python接口自动化测试 - requests库的基础使用
python接口自动化测试 - 数据驱动DDT模块的简单使用
常见问题解决方案
Python常见问题 - python3 requests库提示警告InsecureRequestWarning的问题
Python常见问题 - python3 使用requests发送HTTPS请求报certificate verify failed 错误
Python常见问题 - requests请求参数包含中文报错:UnicodeEncodeError: 'latin-1' codec can't encode characters in position 13-14: is not valid Latin-1. Use body.encode('utf-8')
Pytest+Allure
Pytest系列(1) - 快速入门和基础讲解
Pytest系列(2) - assert断言详细使用
Pytest系列(3) - setup和teardown的详细使用
Pytest系列(4) - fixture的详细使用
Pytest系列(5) - 测试用例执行后的几种状态
Pytest系列(6) - conftest.py的详细讲解
Pytest系列(7) - skip、skipif跳过用例
Pytest系列(8) - 使用自定义标记mark
Pytest系列(9) - 参数化@pytest.mark.parametrize
Pytest系列(10) - fixture 传参数 request的详细使用
Pytest系列(11)- 失败重跑插件pytest-rerunfailures的详细使用
Pytest系列(12)- 测试结果生成HTML报告插件之pytest-html的详细使用
Pytest系列(13)- 重复执行用例插件之pytest-repeat的详细使用
Pytest系列(14)- 配置文件pytest.ini的详细使用
Pytest系列(15)- 多重校验插件之pytest-assume的详细使用
Pytest系列(16)- 分布式测试插件之pytest-xdist的详细使用
Pytest系列(17)- pytest-xdist分布式测试的原理和流程
Pytest系列(18)- 超美测试报告插件之allure-pytest的基础使用
Pytest系列(19)- 我们需要掌握的allure特性
Pytest系列(20)- allure的特性,@allure.step()、allure.attach的详细使用
Pytest系列(21)- allure的特性,@allure.description()、@allure.title()的详细使用
Pytest系列(22)- allure的特性,@allure.link()、@allure.issue()、@allure.testcase()的详细使用
Pytest系列(23)- allure 打标记之 @allure.epic()、@allure.feature()、@allure.story() 的详细使用
Pytest系列(24)- allure 环境准备
Pytest系列(25)- @allure.severity 标记用例级别
Pytest系列(26)- 清空 allure 历史报告记录
Pytest系列(27)- allure 命令行参数
Pytest系列(28)- 参数化 parametrize + @allure.title() 动态生成标题
Pytest系列(29)- 详解 allure.dynamic 动态生成功能
Pytest 面试宝典
实战小项目
Docker + Jenkins + Gitlab + Pytest + Allure 接口自动化测试之持续集成实战终极教程
UI 自动化
Selenium系列(二) - 详细解读针对浏览器的操作Selenium系列(一) - 详细解读8种元素定位方式
Selenium系列(三) - 详细解读针对元素常见的简单操作
Selenium系列(四) - 详细解读鼠标操作
Selenium系列(五) - 详细解读键盘操作
Selenium系列(六) - 详细解读强制等待、隐式等待、显式等待的区别和源码解读
Selenium系列(七) - 切换iframe
Selenium系列(八) - 截取完整页面和截取指定元素并保存为图片
Selenium系列(九) - 针对alert窗口的处理(警告框、确认框、对话框)和源码解读
Selenium系列(十) - 针对Select下拉框的操作和源码解读
Selenium系列(十一) - 针对两种上传文件方式的实现方案
Selenium系列(十二) - 自动化必备知识之CSS选择器的详细使用
Selenium系列(十三) - 自动化必备知识之Xpath的详细使用
Selenium系列(十四) - Web UI 自动化基础实战(1)
Selenium系列(十五) - Web UI 自动化基础实战(2)
Selenium系列(十六) - Web UI 自动化基础实战(3)
Selenium系列(十七) - Web UI 自动化基础实战(4)
Selenium系列(十八) - Web UI 自动化基础实战(5)
Selenium系列(十九) - Web UI 自动化基础实战(6)
Selenium系列(二十) - PageObject模式的详细介绍
Selenium系列(21) - Cookie操作和源码解读
Selenium系列(22) - 通过selenium控制浏览器滚动条的几种方式
Selenium常见报错问题(1)- 先来认识下selenium常见异常类
Selenium常见报错问题(2)- 解决和分析StaleElementReferenceException异常
Selenium常见报错问题(3)- 解决和分析NoSuchElementException
Selenium 面试宝典
APP 自动化
APPium自动化(1) - 环境准备详细教程
APPium自动化(2) - APPium环境安装常见问题的解决方案
APPium自动化(3) - adb无线连接手机的方法
APPium自动化(4) - APPium Desired Capabilities 参数详解
APPium自动化(5) - 如何获取android APP 的Activity 和 Package
APPium自动化(6) - 控件定位工具之uiautomatorviewer 的详细介绍
APPium自动化(7) - 控件定位工具之APPium 的 Inspector
APPium自动化(8) - 可定位的控件属性
APPium自动化(9) - APPium元素定位的快速入门
APPium自动化(10) - APPium高级元素定位方式之 UI Automator API 的详解
APPium自动化(11) - 详解 APPlications 类里的方法和源码解析
APPium自动化(12) - 详解 HardwareActions 类里的方法和源码分析
APPium自动化(13) - 详解 Keyboard 类里的方法和源码分析
APPium自动化(14) - 详解 ActionHelpers 类里的方法和源码分析
APPium自动化(15) - 针对 webview 进行自动化测试
APPium自动化(16) - 使用手机浏览器进行自动化测试
常见问题解决方案
APPium问题解决方案(1)- 设置unicodeKeyboard: True运行脚本后,手机输入时无法调出软键盘
APPium问题解决方案(3)- java.lang.IllegalStateException: UiAutomation not connected!
APPium问题解决方案(2)- AttributeError:module 'APPium.webdriver' has no attribute 'Remote'
APPium问题解决方案(4)- Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException
APPium问题解决方案(5)- selenium.common.exceptions.InvalidSelectorException: Message: Locator Strategy 'name' is not supported for this session
APPium问题解决方案(6)- Java堆栈错误:java.lag.ClassNotFoundException:org.eclipse.swt.widets.Control
APPium问题解决方案(7)- Could not find 'adb.exe' in PATH. Please set the ANDROID_HOME environment variable with the Android SDK root directory path
APPium问题解决方案(8)- selenium.common.exceptions.WebDriverException: Message: An unknown server-side error occurred while processing the command. Original error: Could not sign with default certificate.
APPium问题解决方案(9)- Original error: Failed to launch APPium Settings APP: Condition unmet after 5090 ms
APPium问题解决方案(10)- Original error: Swipe did not complete successfully
RobotFramework
Robot Framework(1)- 入门介绍
Robot Framework(2)- 快速安装
Robot Framework(3)- 基本概念
Robot Framework(4)- 测试套件的基本使用
Robot Framework(5)- 使用测试库
Robot Framework(6)- BuiltIn 测试库常用的关键字列表
Robot Framework(7)- DateTime 测试库常用的关键字列表
Robot Framework(8)- Collections 测试库常用的关键字列表
Robot Framework(9)- 使用变量文件
Robot Framework(10)- 使用资源文件
Robot Framework(11)- 用户关键字的详解
Robot Framework(12)- 详细解读 RF 的变量和常量
Robot Framework(13)- RF 循环的详细使用
Robot Framework(14)- Variables 表的详细使用和具体例子
Robot Framework(15)- 扩展关键字
Robot Framework 面试题
Flask
Flask(1)- 简介
Flask(2)- 第一个 Flask APPlication
Flask(3)- Flask 中的 HTTP 方法
Flask(4)- URL 组成部分详解
Flask(5)- 动态路由
Flask(6)- debug 模式
Flask(7)- request 对象
Flask(8)- jinja2 模板入门
Flask(9)- 蓝图的基本使用
Flask(10)- 标准类视图
Flask(11)- 操作 Cookie
Flask(12)- 操作 Session
常见问题解决方案
Flask - 解决 APP.run() 添加 host、port、debug 参数后运行不生效的问题
Flask - 访问返回字典的接口报错:The view function did not return a valid response. The return type must be a string, tuple, Response instance, or WSGI callable, but it was a dict
准备自学python的同学又不知道该如何下手的,可以根据上文推荐按图索骥去逐一过关,对我自己整理的课件笔记,习题集和相关工具有需要的可以后台私信我,我看到会尽快分享!