当前位置:网站首页>测试开发工程师成长日记003 - 接口自动化框架搭建
测试开发工程师成长日记003 - 接口自动化框架搭建
2022-07-30 05:48:00 【章鱼小丸犊子_】
自动化测试流程
需求分析。需求文档,接口文档,抓包接口
测试计划。通常包含项目的进度,是否自动化,优先级
测试用例(是从手工测试提取出来的)
用例评审
执行测试。(写代码)
测试报告
接到项目之后,如何去进行需求分析:
1.需求文档,功能展示以及交互
2.接口文档,后端数据是怎么传输的
3.数据库账号,数据库地址,结构帮大家熟悉整个项目的轮廓,字段
4.测试环境,环境怎么搭建
5.原型图
测试计划:
通常是由测试经理或者项目经理来编写的
1.可行分析,是否要引入自动化,哪此场景引入自动化,哪此功能引入自动化,做自动化不是全量覆盖,不可能是所有用例都进行自动化,
2.风险因子,存在哪此风险
3.时间管控,主要是时间、技术、进度、优先级的管控
4.技术,使用什么技术(python、java),使用什么测试单元框架(unittest、pytest)
测试用例:
写到excel,手工测试用例,指的是全量的测试用例,不是自动化测试用例
案例:
通常来说,任何一个项目或是新功能,会先进行手工测试,也是要进行全量的用例编写
自动化测试主要包括:
1.冒烟测试:主流程是否能正常运行
2.回归测试:验证开发修复的bug是否正常,并没有引入新的bug
3.持续集成:一天要重复测试好几次
接口需求分析
接口文档:
– 纸质(电子 )
– open api,swagger(网站)
– 什么都没有,全凭一张嘴(自己抓包)
通过抓包或postman调试工具来设计测试用例,预期结果
3.用例设计
用excel进行编写,最好是一个接口编写一个sheet页,这样好进行测试
注意json格式数据一定要规范,双引号,英文的逗号等
预期结果可以使用postman调试工具来获取
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
如何搭建框架,也就是如何创建包,模块,如何存放编写的代码
– 怎么组织代码,怎么创建包,模块
– 自动化测试用例放在哪里
– 入口main,收集用例放在哪里
– 测试数据,应该放在哪里
– 测试报告放在哪里
– 配置文件放在哪里
– 日志文件放在哪里
– excel操作
– 托管提交到公司代码库(git,github,gitlab,gitee)
框架搭建步骤:
1.项目说白了就是一个目录,会放很多的文件,不是包,
所以先创建一个新的项目目录task_211012
2.建立一个收集用例的模块,run.py
3.report/目录存放所有测试报告,
使用unittestreport会自动生成report/目录,如果使用beautifulreport需要自己建立report/目录
4.data/存放所有的测试数据
5.common/存放所有的通用模块
common是通用的,其他的或多或少和项目有关系的
换名话也就是说,当你换一个项目时,common可以原封不动的复制到新项目中使用,
但其他是需要修改总分内容的
6.cases/存放所有的测试用例
7.config/存放配置文件
8.log/存放日志文件
9.具体存放的什么代码,如下:
test_login.py(自动代测试用例,参数化)
excel.py(读取测试用例cases.xlsx文件内容)
logger.py(封装日志函数)
read_yaml.py(读取配置文件内容)
config.yaml(配置文件)
cases.xlsx(测试用例)
login.py(被测函数)
run.py(存放收集测试用例代码)
运行run.py后会自动生成report/目录
demo.log内会存入日志信息
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
一、简介
框架基于python+pytest+allure,实现 用例发现、顺序执行、参数化、数据驱动、结果收集、报告展示等功能。
接口自动化 基于Requests库 + yaml配置,对请求进行组装和下发。
二、目录结构介绍

三、自动化框架介绍

执行入口:run.py
通过 pytest命令执行测试用例, allure命令生成报告

数据配置
数据存放路径:framework/conf
数据类型: 公共配置 , 接口组成
获取方式:BaseConfig类
用例打标
pytest打标: @pytest.mark.标签名
allure打标:@allure.severity(“normal”) (BLOCKER 、CRITICAL 、NORMAL 、MINOR 、TRIVIAL )
用处: 在pytest执行脚本时 可以通过标签选择脚本执行
pytest -m 标签名
pytest --allure-severities=blocker,critical
数据驱动
使用@pytest.mark.parametrize()装饰器
范围可以在测试方法和测试类上使用
用法: 一个参数是以字符串的形式标识用例函数的参数,第二个参数以列表或元组的形式传递测试数据

并发模式
pytest并发模式不满足现有需求, 自定义一个并发模式
用法: pytest -n auto --isyscore=isyscore
以sheetName、脚本文件夹为模块分发执行
结果收集、报告展示、通知告警
新增pytest钩子函数pytest_terminal_summary ,获取用例详情,发送结果通知
边栏推荐
猜你喜欢

Biotin-PEG4-DADPS-Picolyl-azide(CAS:2599839-59-3)生物素试剂

IO进程线程->标准IO->day1

单片机第一步

基于 JupyterLab 插件在 GraphScope 中交互式构图

flask项目快速搭建部署gunicorn+supervisor

Mastering JESD204B (2) – Debugging of AD6676

Interactively compose graphs in GraphScope based on the JupyterLab plugin

图扑数字孪生北京故宫,推进旅游业元宇宙进程

Shortcut keys commonly used in the use of Word

Application of graph computing in network security analysis
随机推荐
02-Cycript的使用
C#最优二叉树----哈夫曼树
Graph Computing 101: Types, Languages, and Systems of Graph Computing
【Exhibition of some projects】
元宇宙与图扑国风的碰撞,科技与文化的虚实融合
Biotin-Dadps-azide|CAS:1260247-50-4|生物素-DADPS-叠氮
npm安装nodejs环境配置
掌握JESD204B(三)–AD6676的调试
Biotin-NH2|CAS:111790-37-5(生物素-氨基)是一种生物素化化合物
Biotin-SS-NHS ester|生物素-二硫键-活性酯|CAS:122266-55-1具有良好的水溶性
Unity 渲染流水线
04-packing and unpacking
c语言编程练习
关于memcache内核,全网最通俗的讲解
Vineyard: 开源分布式内存数据管理框架
测试第二题
基于STM32F103的消防系统之火焰传感器
IO进程线程->文件IO->day2
THREEJS辉光与景深特效
How to import matlab data into modelsim simulation