Python自动化测试框架有哪些?怎么选
目录
自动化测试框架概念
自动化测试框架根据思想理念和深度不同,渐进式的分为以下几种:
模块化测试脚本框架:
测试库框架:
数据驱动测试框架:
关键字驱动或表驱动的测试框架:
混合测试自动化框架:
框架设计目标
框架用到的技术点
自动化测试框架概念
自动化测试框架是一个集成体系,这个体系中包含测试功能的函数库、测试数据源、测试对象以及可重用的模块。
框架(framework)是一个框子——指其约束性,也是一个架子——指其支撑性。是一个基本概念上的结构,用于去解决或者处理复杂的问题。
在软件工程中,框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;
另一种定义认为,框架是可被应用开发者定制的应用骨架,前者是从应用方面而后者是从目的方面给出的定义
对于测试人员来说,线性脚本的自动化脚本在维护性和可用性上教差,就可以利用设计的框架来实现自动化测试
Python自动化测试框架视频教程:2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
自动化测试框架根据思想理念和深度不同,渐进式的分为以下几种:
模块化思想 ==> 模块化测试脚本框架
库思想 ==> 测试库框架
数据驱动思想 ==> 数据驱动测试框架
关键字驱动思想 ==> 关键字驱动或表驱动的测试框架
上述思想融合完成企业实际自动化 ==> 混合测试自动化框架
模块化测试脚本框架:
需要创建独立的可描述的模块、程序片断以及待测试应用程序的脚本。这些小脚本进行组合,就能组成用来独立运行特定的测试的测试用例脚本。
测试库框架:
与模块化测试脚本框架很类似,并且具有同样的优点。不同的是测试库框架把待测应用程序分解为过程和函数而不是脚本。这个框架需要创建描述模块、片断以及待测应用程序的功能库文件。
数据驱动测试框架:
在这里测试的输入和输出数据是从数据文件中读取(数据池,ODBC源,CSV文件,EXCEL文件,Json文件,Yaml文件,ADO对象等)并且通过捕获工具生成或者手工生成的代码脚本被载入到变量中。在这个框架中,变量不仅被用来存放输入值还被用来存放输出的验证值。整个程序中,测试脚本来读取数值文件,记载测试状态和信息。这类似于表驱动测试,在表驱动测试中,它的测试用例是包含在数据文件而不是在脚本中,对于数据而言,脚本仅仅是一个“驱动器”,或者是一个传送机构。
关键字驱动或表驱动的测试框架:
这个框架需要开发数据表和关键字。这些数据表和关键字独立于执行它们的测试自动化工具,并可以用来“驱动"待测应用程序和数据的测试脚本代码,关键宇驱动测试看上去与手工测试用例很类似。在一个关键字驱动测试中,把待测应用程序的功能和每个测试的执行步骤一起写到一个表中。
这个测试框架可以通过很少的代码来产生大量的测试用例。同样的代码在用数据表来产生各个测试用例的同时被复用。
Python自动化测试框架:2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
混合测试自动化框架:
最普遍的执行框架是上面介绍的所有技术的一个结合,取其长处,弥补其不足。这个混合测试框架是由大部分框架随着时间并经过若干项目演化而来的。
框架设计目标
设计出来的框架是直接给测试人员,而且其他的测试人员只需要简单的向里面不断的补充测试用例即可;所以我们的框架设计必须三简化即操作简单,维护简单,扩展简单。
设计框架的同时一定要结合业务流程,而不仅仅靠技术实现,其实技术实现不难,难点对业务流程的理解和把握。
设计框架时要将基础的封装成公用的,如:get请求、post请求和断言封装成同基础通用类。
测试用例要与代码分开,这样便于用例管理,采用数据驱动框架实现。
如下图所示:
通过在excel录入测试用例,框架运行后自动进行用例执行,产生html网页版本的测试报告。
报告
框架用到的技术点
1、语言:python
2、测试框架:unittest(assertEqual)/ pytest
3、接口调用:requests(API非常简洁)
4、数据驱动:paramunittest (组装一定的格式数据就可以参数化)
5、数据管理:xlrd(读取excel文件数据)、configparser(读取配置文件)
6、数据格式的转换:ast,json
7、日志处理:logging ---清晰的执行过程,快速定位问题
8、测试报表:HTMLTestReportCN(由网友制作设计,显示清晰美观)
9、测试发送测试报告:smtplib(邮件内容格式设置)、email(收发邮件)
10、持续集成:Jenkins(按策略执行接口测试脚本
Python自动化测试视频教程:
2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1AF411T7qJ/?spm_id_from=333.999.0.0
Python自动化测试框架有哪些?怎么选相关推荐
- python自动化测试框架pytest.pdf_Python自动化测试框架
随着技术的进步和自动化技术的出现,市面上出现了一些自动化测试框架.只需要进行一些适用性和效率参数的调整,这些自动化测试框架就能够开箱即用,大大节省了开发时间.而且由于这些框架被广泛使用,他们具有很好的 ...
- Python自动化测试框架有哪些?
令开发者万分高兴的是,开发自己的测试框架的日子终于结束了.以前,开发团队接手一个项目并开始开发时,除了项目模块的实际开发之外,他们不得不为这个项目构建一个自动化测试框架.一个测试框架应该具有最佳的测试 ...
- Python学习教程:Python自动化测试框架需要学习哪些?
需要掌握学习Python自动化测试框架有哪些?常用的Python自动化测试框架有Robot Framework.Pytest.UnitTest/PyUnit.Behave.Lettuce.软件测试的自 ...
- 7个实用的Python自动化测试框架
目录 前言 1.Unittest 2. Doctest 3.pytest 4.Nose 5.tox 6.Unittest2 7.mock unittest. 结语 前言 随着技术的进步和自动化技术的出 ...
- Python自动化测试框架
Python自动化测试框架 1 什么自动化测试框架 什么是工具--工具(Tools)类似框架,只是工具屏蔽了底层的代码,提供单独的操作界面,以此供用户操作,比如:Selenium IDE.Postma ...
- 实现一个简单的python自动化测试框架
实现一个简单的python自动化测试框架. 父类中实现runTest()方法和assertEqual().子类编写test开头的测试函数,其中调用assertEqual(). 实例化子类,运行父类中r ...
- Python自动化测试框架【Allure-pytest功能特性介绍】
Python自动化测试框架[Allure-pytest功能特性介绍] 目录:导读 前言 生成报告 测试代码 目录结构 Allure特性 Environment Categories Fixtures ...
- (原创)Python 自动化测试框架详解
自己折腾了一个python的自动化测试框架,梳理了一下流程,简单分享一下. 项目背景 B/S架构,进行用户界面的自动化测试 工具选择 python开发的自动化测试框架,足够灵活,可以随时根据需求进行变 ...
- Python自动化测试框架之Pytest教程【让你小鸡变老鹰】
Pytest pytest是一个非常成熟的全功能的Python测试框架,主要有以下几个特点: · 简单灵活,容易上手 · 支持参数化 · 能够支持简单的单元测试和复杂的功能测试,还可以用来做sele ...
最新文章
- 不少Java程序员都觉得Lambda表达式很鸡肋,它到底有何用呢?
- 上传文件 苹果系统选不了excel_每日一课 | 几个好用的Excel技巧,安利了(五)...
- 【中国超算迎来最强对手】 IBM推出机器学习加速“瑞士军刀”Power9芯片,性能为同类产品的10倍...
- 第5周实践项目2 链栈的算法库建立
- Linux Kernel and Android 休眠与唤醒(中文版)
- 毕业生求职“葵花宝典”之实习提前转正秘笈
- java NIO 资料总结
- springboot之websocket
- 电脑技巧:电脑常用快捷键大全,值得收藏!
- 《软件项目管理(第二版)》第 9 章——项目监督与控制 重点部分总结
- 2 字符串求交集_PostGIS教程十八:维数扩展的9交集模型
- python显示乱码_python2显示乱码问题实战详解
- 【UE4+Vive】学习笔记1
- Java 开发环境搭建
- android系统硬件OpenGL 3D移植(二)
- 计算机网络笔记(王道考研) 第一章:计算机网络体系结构
- c语言去尾法和进一法的例子,用“进一法”和“去尾法”解决问题教学案例
- C++引用---纯属娱乐
- 【nRF Connect】一、下载方法及简介
- 访问对象存储资源下载变成预览
热门文章
- IEC 61851-1 协议
- 配置法 求解1D第二类线性的Fredholm积分方程 +MATLAB
- 使用XDoclet生成代码
- 南琼考试系统服务器怎么填,南琼考试系统N5
- Servlet学习,访问Html跳转Servlet程序显示404解决方案。
- java和连接数据库的驱动_java中连接各数据库的驱动类和连接方式
- CentOS的DNS服务器配置文件/etc/resolv.conf重置问题
- 【第十届“泰迪杯”数据挖掘挑战赛】B题:电力系统负荷预测分析 31页省一等奖论文及代码
- 完整的门店CRM客户管理系统原型设计
- Linux基本认识及环境搭建