Python自动化测试实战规划
作者:互联网
接口测试基础
接口简介-0.5h
- 什么是接口
- 处理流程
- 接口分类
接口测试-1h
- 意义
- 流程
- 用例设计
网络基础知识-1h
- IP、端口、域名、DNS
- OSI及TCP网络模型
- TCP、UDP协议
- JSON及XML格式
- 常见编码
HTTP协议-1h
- HTTP介绍及历史
- HTTP与HTTPS
- URL
- 请求方法
- 请求头
- 状态码及原因
- Cookie、Session及Token
命令行工具-1h
- Ifconfig/ipconfig
- ping
- netstat
- curl
- telnet
5. 网络抓包-1h
- 浏览器抓包
- Fiddler Everywhere安装及HTTPS抓包设置
- 手机抓包
- 过滤和标记
- 断点和调试及重放
- 自动应答
- 弱网模拟
Postman使用-1h
- 各种类型请求的发送
- 响应及断言
- 关联、环境及变量
- 请求集运行
- 无界面运行
JMeter-1h
- 安装及设置
- 发送请求
- 请求默认配置
- 用户自定义变量
- 响应及断言
- 关联
- 使用CSV数据
- 无界面运行
- 结果分析
接口自动化测试
Requests-0.5
- 介绍、特性
- 安装
- 基本使用
请求发送-1h
- GET请求
- 单独的URL参数
- 携带请求头
- 携带Cookie
- POST请求-FORM格式
- POST请求-JSON格式
- POST请求-上传文件
- POST请求-原始格式
- 通用请求方法
响应解析及断言-1h
- 响应对象
- 响应断言
- JSON解析
- XML解析/HTML解析
- 正则解析
关联及接口依赖
- 字符串参数化
- 状态依赖
- 数据依赖
- 请求基础类封装
- Mock接口(Flask)
数据驱动-1h
- 使用随机数据
- 使用Faker
- 使用CSV
- 使用Excel
- 使用JSON数据
- 使用YAML数据
- 使用INI数据
数据库操作
- MySQL操作
- Redis操作
- MongoDB
- PostgreSQL
- Oracle
其他接口
- Dubbo接口
- SOAP接口
- GraphQL接口
扩展
- 异步接口及接口并发
- 扩展-Requests库FAQ
- 扩展-接口鉴权策略
- 扩展-SoupUI
- 扩展-JMeter进阶压力测试
- 扩展-Yapi使用
- 扩展-Apifox使用
- 扩展-RAP/RAP2使用
- 扩展-JSONPath
- 扩展-JSONSchema使用
- 扩展-接口录制及har解析
unittest框架简介
unittest框架介绍
- 介绍
- 基本模型
- 处理过程
用例编写及断言
- 用例编写
- 断言方法
测试准备和清理-Setup&TearDown
套件及加载器
- 用例组织
- 用例加载
- FailFast模式
- 跳过和期望失败-不稳定用例处理
记录器及运行器
数据驱动及子用例
html报告-Jinja2
- 命令行参数
- 运行
- 生成报告
接口自动化测试实战
项目介绍-0.5h
测试点分析
转换自动化用例
从脚本到框架-1h
模块封装
- 请求封装
- Dubbo封装
- 数据库封装
数据分离、配置分离
命令行参数及发送邮件
Selenium基础
1. Selenium介绍-0.5h
-
环境搭建
- Win10
- MacOS
- CentOS7
-
Selenium组成
-
WebDriver原理
2. HTML基础-1h
- 节点
- 常见标签
- 表单
- 限制属性
- 嵌入式页面
- 元素审查
3. 启动浏览器-1h
- 启动各种浏览器
- 启动360浏览器
- 测试Electron应用
- 使用远程浏览器
- 浏览器基本操作
4. 8种定位-1h
- id
- name
- class_name
- link
- partial link
- tag name
- xpath
- css_selector
- 通用的定位方法
分组定位+分层定位-1h
- 分组定位
- 元素存在判断
- 逐层定位
- 定位策略
元素操作,模拟键盘-1h
- 点击
- 输入,clear, set_value, 模拟按键
- 获取元素属性
- 元素截图
- 上传下载
- 下拉框操作
必要的切换-1h
- 弹出框处理
- 窗口切换
- 嵌入式页面处理
Selenium高级
浏览器选项-1h
- 无界面模式
- 模拟手机浏览
- 真实用户环境
- 常用其他启动参数
2. XPath及CSS Selector-1h
- 绝对路径加序号
- 相对路径加属性
- 通过节点文本定位
- 向上查找
- 方法对应
- 方法封装
悬浮及拖动(动作链)-0.5
等待策略及封装-0.5
使用JavaScript-1h
- 页面滚动处理
- 日期框处理
- 隐藏元素处理
- 富文本框输入
验证码处理
常见异常
- 浏览器驱动异常
- 定位元素异常及常见原因
- 元素操作异常
Pytest简介-1h
Pytest简介
- 介绍
- 原理
- 运行流程
- 常用插件
用例编写及断言
- 函数式
- 类式
- 断言
- 基本运行方法
用例标记及配置文件
- 配置文件
- 使用日志
- 用例标记
- 不稳定用例处理
测试准备与清理
- 不同级别的Setup和TearDown
- 自定义Fixtures辅助方法
- Fixture共享-Conftest
数据驱动
- Fixture参数化
- Parametrize关键字
- ids
- 使用数据文件
用例运行控制
-
显示
-
挑选用例
- mark
- k
- dir
- collect-only
-
缓存
- ff
- lf
-
查看fixtures/marks
hooks
-
简介
-
不同阶段的Hook方法
- 引导时的Hook方法
- 初始化时的Hook方法
- 测试运行时的Hook方法
- 收集用例时的Hook方法
- 生成测试结果时的Hook方法
- 调试/交互Hook方法
-
常见对象
- request
- config
- Item
- session
- parser
-
常用场景
- 修改报告、日志名称
- 增加运行后操作
- 用例收集时生成用例列表
- 报告unicode转义显示
WebUI自动化测试实战
项目介绍-0.5h
Page Object Model模式
- base_page
- Page object
- 用例
页面基础类-Web操作封装-1h
- 统一定位方法
- 统一操作
- 页面及元素断言
- 失败截图
- 失败重跑
- 使用Cookies
使用Pytest-Selenium
部署及运行
发送邮件
用例依赖处理
使用日志
allure报告-1h
运行录像
分层测试框架-1h
- 分层模型
- 什么是框架
- 测试框架的重力
- Python常见的测试框架
- 框架优势
- 框架易用性
- 框架效率
- 框架灵活性
- 框架稳定性
Appium基础
Appium介绍-0.5
- 介绍,原理,流程
- 对比
- 环境搭建
- Android SDK介绍
- Appium入门
Android基础-1h
- 框架
- 4大组件及基本概念
- 常见布局
- 常见控件
- 控件基本属性
ADB命令
Monkey使用
元素审查-Appium Inspector
- 启动配置
- 界面介绍
- 审查元素
- 元素操作
- 坐标操作
- 录制代码
元素定位(Android)-1h
- 通过元素资源ID定位
- 通过描述文字定位
- 通过显示文字定位
- 通过控件类型定位
- 使用UiSelector定位
- 元素存在判断
元素操作-1h
- 操作元素
- 获取元素文本、位置大小等
- 获取元素状态
- 获取元素属性
Appium高级
Caps
- Android常用配置
- 常见使用场景
设备及应用操作
- 设备状态
- 应用操作
键盘及剪贴板操作-1h
- 按键
- 键盘
- 输入法事件操作
- 剪贴板操作
触控操作及动作链
- 坐标点击
- 屏幕滑动
- 动作链-滑动在指定元素
- 多点触控动作链
混合App及H5操作
- 移动浏览器操作
- H5测试
- 混合App元素审查及操作
微信小程序及公众号测试
- 微信小程序自动化
- 微信公众号自动化
常见异常
- Appium日志解析
- Appium Inspector常见异常
- Appium常见异常
- ADB常见异常
- 模拟器常见异常
Appium实战
App操作封装
自动选择设备
自动启动服务
兼容Android和iOS
服务部署
并行及分布式测试
Git与Jenkins
Git
- 简介
- 安装
- 基本概念
- 基本使用
- 创建和克隆
- 修改和提交
Git基本操作
- 查看状态、变更、日志、Blame
- 撤销和重置
- 分支操作
- 远程操作
- 标签操作
Jenkins
- 简介
- CI、CD Devops
- 安装
任务配置及发布报告
- 运行用例
- 参数化运行
- 发布报告
发送邮件
- 邮件通知
- 增强型邮件通知
定时运行及轮询SCM
- 定时运行
- 轮询SCM
Pipeline流水线任务
- 基本格式
- 选择节点
- 参数化options
- 使用环境变量
- 使用凭证
- 并行
标签:实战,Python,元素,使用,接口,用例,自动化,1h,操作 来源: https://www.cnblogs.com/superhin/p/15023161.html