Python自动化学习目标
Python基础
Python基础
- 掌握基本的Python语法
- 掌握字符串基本操作(分隔、拼接、格式化等)
- 掌握列表的基本操作(索引、遍历、追加)
- 掌握字典的基本操作(组装、遍历、嵌套字典的取值)
- 掌握if判断和列表/字典的循环操作
- 掌握函数的定义和调用(参数、返回值)
- 掌握类的定义及实例化(实例属性、方法、传入参数)
- 掌握基本的文件操作(读、写)
方法论
Python常用模块及三方包
Python常用模块
- sys模块查看增加PATH路径
- os模块路径组装、文件遍历、执行系统命令
- subprocess模块异步执行系统命令并拿到结果
- re模块简单正则匹配
- random模块随机数及随机选择
- email模块及smtplib模块组装机发送邮件
- argparser模块为脚本添加命令行参数(待定)
数据/配置文件解析
- 使用configparser模块读写INI配置
- 使用csv模块读写CSV数据
- 使用json模块加载JSON数据
- 使用三方包pyyaml加载YAML数据
- 使用三方包openpyxl读写Excel数据
- 使用三方包lxml解析XML/HTML文件
- 使用三方包bs4解析XML/HTML文件
编码及加密
数据库操作
- 使用三方包pymysql操作MySQL
- 使用三方包redis操作Redis(待定)
- 使用三方包pymongo操作MongoDB(待定)
其他
Python进阶(自学)
Python进阶
数据结构及常见算法
Linux基础(自学)
- 掌握find locate whereis grep命令
- 掌握curl命令
- 掌握sort uniq wc命令
- 掌握vim常用操作
- 掌握sed和awk基本使用
- 掌握ssh scp命令
- 掌握ps netstat df top命令
Selenium基础及进阶
- 掌握自动化测试的价值、优缺点、适用及不适用场景
- 掌握HTML基础知识及各种标签的识别
- 掌握8种定位方法,分组及逐层定位
- 掌握元素点击、输入、获取文本、属性,元素截图等操作
- 掌握各种对话框及新窗口的处理
- 掌握框架页面的操作
- 掌握XPath及CSS 选择器语法
- 掌握常用的ChromeOptions及Desired Capabilities,启动其他浏览器、模拟手机等
- 掌握简单图像验证码的处理(待定)
- 掌握Cookies的使用(待定)
- 掌握隐藏元素、日期输入框、页面滚动、富文本框的处理
- 掌握Selenium的3种等待策略
- 掌握Page Object Module模式
- 了解Selenium IDE的使用(待定)
- 了解Selenium Grid的使用,Docker及Zalenium的使用(待定)
- 了解Selenium常见的异常及处理方法
Pytest框架
- 掌握使用函数、类来编写测试用例
- 掌握Pytest运行用例的方法及常见参数
- 掌握不同范围的setup/teardown方法
- 掌握Fixture函数的编写和使用
- 掌握参数化数据驱动用例的编写
- 掌握配置文件的使用及日志相关配置
- 掌握基本钩子方法来添加自定义参数、配置,执行自定义流程
- 掌握常用的Pytest三方插件的使用(待定)
Web UI测试框架(Pytest)
- 理解什么是框架及测试框架,了解测试框架主要解决的问题
- 了解常见的框架类型及分层测试框架
- 掌握框架项目的规划思路,及解决方案
- 掌握页面基础类的使用,及driver常见操作的封装
- 掌握Pytest + Allure报告在项目中的实际应用
- 掌握作为用例辅助的Fixture方法的灵活使用
- 掌握使用Pytest压缩及发送邮件的方法
- 掌握Markdown说明文档的编写
Appium基础及进阶
- 掌握Appium环境的搭建
- 掌握Android基础知识
- 掌握ADB及ADB Shell常用命令
- 掌握Monkey的基本使用
- 掌握uiautomatorviewer及Appium Inspector元素审查工具
- 掌握Appium Android常用的元素定位及操作
- 掌握屏幕滑动、坐标点击、动作链等操作
- 掌握应用安装、卸载、启动等操作
- 掌握H5及混合App的定位及操作
- 了解Appium常见的异常及处理方法
App测试框架实战(Robot Framework)
- 了解关键字框架
- 了解直播类App的常见协议及测试点(待定)
- 掌握Robot Framework的基本格式及语法
- 掌握Robot Framework的分层模式
- 掌握Robot Framework扩展库的编写
- 掌握AppiumLibaray的基本操作
网络基础知识及接口测试
- 理解接口的概念及RPC远程过程调用,了解常见的接口类型
- 理解接口测试及接口自动化的意义,了解接口测试流程
- 掌握OSI及TCP/IP网络模型及各层的协议及设备
- 了解常见的协议(待定)
- 掌握JSON及XML格式
- 了解IP、端口、域名及DNS,理解一次请求的完整流程
- 理解TCP/UDP协议的区别,TCP3次握手4次挥手,TCP如何确保可靠传输
- 了解HTTP协议基本格式,发展历史
- 理解HTTPS基本通信流程及与HTTP的区别
- 了解HTTP常见的请求方法,掌握GET和POST的区别
- 了解常用的编码及加密算法
- 了解常见的请求头
- 了解常见的数据内容类型
- 掌握常见的状态码及原因
- 了解常见的鉴权方法
- 理解Session、Cookie及Token机制,理解Token与Session的不同
- 掌握curl命令的使用(待定)
- 掌握telnet调试dubbo接口
- 掌握ipconfig/ifconfig和ping命令
- 掌握本地hosts的设置方法及SwitchHosts的使用
- 掌握Postman发送接口、断言、环境变量、批量运行导出及newman的使用
- 了解性能测试常见指标
- 掌握JMeter发送接口、断言、关联、默认请求配置、用户变量、使用CSV文件、命令行运行、分布式运行、生成报告及简单的结果分析
- 掌握JMeter测试Dubbo接口的方法
- 掌握JMeter测试WebSocket接口的方法
- 理解正向代理及反向代理
- 掌握Fiddler HTTPS抓包、手机抓包、请求过滤和标记、查看和分析请求、请求重放、拦截和断点调试、模拟弱网、自动响应到Mock接口
- 掌握请求抓包及Bug基本定位方法(前端?后端?)
- 掌握仅有前端、线上包调试方法
- 掌握浏览器抓包、过滤、查看、分析、拦截、调试、模拟弱网等方法
- 了解har格式(待定)
- 了解Yapi的搭建及基本使用(待定)
Requests接口自动化
- 掌握Requests库发送GET、POST(表单、JSON、XML、上传文件)各种请求
- 掌握响应的解析,及JSON响应数据的提取
- 掌握接口依赖的处理
- 掌握使用Session保持登录状态、配置默认请求头
- 掌握re的基本使用(待定)
- 掌握JSONPath的基本使用(待定)
- 掌握lxml及bs4的基本使用(待定)
- 了解接口自动化测试常见的技巧、异常及处理方法
接口测试框架(Unittest)
- 了解Unittest中的基本概念和运转流程
- 掌握Unittest的用例编写及运行方式(脚本中运行、组装Suite运行、命令行运行)
- 掌握YAML格式及pyyaml三方包解析YAML数据
- 掌握Excel文件、CSV文件、INI配置文件的读取方法
- 掌握数据库操作封装
- 了解声明式语法的设计思路及实现方法(待定)
- 掌握Unittest的二次开发(待定)
- 掌握Bootstrap语法及Jinja2自定义模板生成报告的方法(待定)
综合项目实战
- 掌握Unittest在框架中的应用
- 掌握Pytest在框架中的应用
- 掌握Robot Framework在框架中应用
- 掌握HttpRunner框架的基本应用
- 掌握Behave行为驱动框架的使用(待定)
Git及Jenkins持续集成
- 掌握Git命令的基本使用
- 了解Docker的基本使用(待定)
- 掌握SourceTree的基本操作(待定)
- 了解Sonar Qube的搭建及基本使用(待定)
- 掌握Jenkins的搭建及流程配置
- 掌握发送邮件的配置
- 掌握参数化构建方法
- 掌握定时执行及定时SCM轮询
- 了解Jenkins Pipeline的基本语法(待定)
测试开发入门
- 了解Bootstrap4的基本使用(待定)
- 掌握使用Flask编写简单接口
- 了解Django项目搭建流程
- 掌握Django模型编写
- 掌握Django Admin的使用
- 掌握Django Rest Framework的简单使用(待定)