Python教程

Python自动化测试实战规划

本文主要是介绍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自动化测试实战规划的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!