ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python自动化测试实战规划

2021-07-17 13:04:32  阅读:186  来源: 互联网

标签:实战 Python 元素 使用 接口 用例 自动化 1h 操作


接口测试基础

接口简介-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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有