当前位置:网站首页>测试开发工程师成长日记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 ,获取用例详情,发送结果通知
边栏推荐
猜你喜欢
OP tokens and non-transferable NFTs work to build a new digital democracy
一种新的DNA生物素系统Biotin LC hydrazide|CAS:109276-34-8|(+)-生物素酰胺基己酸肼
多线程基础(多线程内存,安全,通信,线程池和阻塞队列)
THREEJS导入外部OBJ+MTL后内存优化
Azide-SS-biotin|CAS:1620523-64-9|生物素-二硫键-叠氮可降解 (cleavable) 的 ADC linke
掌握JESD204B(一)–AD6676的调试
掌握JESD204B(三)–AD6676的调试
含 3 个单元 PEG 的 ADC linker的PC DBCO-PEG3-Biotin
Devops基本概念和原理
Vineyard: An open source distributed in-memory data management framework
随机推荐
MongoDB-介绍,数据类型,基本语句
测试题第三个
使用Apifox测试套件自动化测试接口
多线程基础(多线程内存,安全,通信,线程池和阻塞队列)
【动态规划】LeetCode刷题清单及思路记录
网络协议03 - 路由和NAT
题解——汉明距离
51数码管显示
掌握JESD204B(一)–AD6676的调试
com.alibaba.datax.common.exception.DataXException: Code:[ESWriter-03]
flask项目快速搭建部署gunicorn+supervisor
Mastering JESD204B (2) – Debugging of AD6676
Biotin-C6-amine_N-生物素基-1,6-己二胺_CAS:65953-56-2_100mg
事件传递和响应者链条
Devops基本概念和原理
DADPS Biotin Azide( CAS:1260247-50-4生物素基团和叠氮基团的 PEG 衍生物
Mastering JESD204B (1) – Debugging of AD6676
基于STM32F103的消防系统之MQ-4气体传感器
牛顿迭代法求方程的根
04-加壳和脱壳