当前位置: 首页 > news >正文

如何设计一个自动化测试框架?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

在进行自动化框架设计之前我们先来看两个问题,什么是自动化框架,设计的时候应该注意什么原则,然后该怎么做?本文会以一个web端的UI自动化测试框架设计为例

什么是自动化测试框架

  • 什么是框架

特指为解决一个开放性问题而设计的具有一定约束性的支撑结构。在此结构上可以根据具体问题扩展、安插更多的组成部分,从而更迅速和方便地构建完整的解决问题的方案。框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。也就是说框架本身不解决特定的问题,它是通过扩展的各种组件或者工具来解决问题,并且它可以方便的添加或者修改部分组件的功能。

  • 什么是自动化测试框架

什么是自动化测试框架,我们拆分来看的话,其实就是三个方面,自动化、测试、框架,什么是框架上面说了,还有就是他能执行测试,而且还是自动化的,所以框架的各个组件的主要功能就是围绕着如何自动化如何执行测试展开的。

这里可以把框架的各个功能称作模块,那我们来看看都需要那些模块,需要一个基础模块,主要是怎么实现脚本编写,管理模块,主要的行为是持续集成,定时执行、case管理,统计模块,主要是发送测试报告,统计分析。那总结一下自动化测试框架的定义就是:把在自动化测试过程中用到的一些功能或者工具,分装成各个模块,包括如何进行自动化脚本编写以及分层功能的基础模块,进行持续集成、定时任务的管理模块,发送测试报告、进行测试结果统计分析的统计模块等,将这些模块组成一套可重用的骨架。

自动化测试框架的设计原则

通用性:能够在各种各样的系统和平台都能够使用

易维护性:能够把我们的数据、用例、框架的实现进行独立的维护,能够在实现完善的过程,快速的定义到维护的点,而不对框架的其他功能造成影响

定时处理:能够在指定的时间执行

持续集成:当被测程序和测试代码有更新能够自动执行

调试:可调试行强

测试结果:测试报告、测试数据的统计分析

框架的设计思想

可以把自动化测试框架主体分为两部分,一个是内部框架,一个是外部框架,内部框架就是我们自己实现的测试框架代码,外部框架就是抛开我们实现的核心代码,要达到自动化测试框架设计原的一些内容时用到的一些第三方工具。

外部框架

主要是指以webdriver为核心,辅以外部第三放框架和工具。用以实现持续集成、自动部署、脚本执行、远程调用、报告优化、邮件发送导等功能性框架,实现自动化框架设计原则的一些外围的组件。

内部框架

也就是分层框架,目的在于更好的优化和管理测试用例,更便捷的进行数据、元素、脚本的维护和更快速的创建新脚本

自动化测试框架设计思路

  • 通用的外部框架实现逻辑

maven或者tox-自动编译,执行TestNG或junit,集成邮件发送等

TestNG或Junit、pytest,调用webdriver或者发送请求的方法,执行自动化测试用例,规范自动化测试脚本

selenium脚本或者接口用例脚本

reportNG或者allure报告优化模板

main 自动以html邮件通知或者Jenkins发送邮件

  • 内部框架

层架框架-也就是代码结构优化,根据具体的业务和需求可以大致分为以下几层,有时并不需要下面所有的层次,选取合适自己业务测试的就行。

TestCase层,执行的用例脚本

Task层,公共业务分装,是其他的项目不需要的,只和当前项目相关,比如公共登陆、搜索等业务

utils层:与业务无关的方法,比如数据驱动-也就进行数据文件的读写、浏览器操作、元素定位方法等进行封装

page层或po层:页面层,页面层主要维护某一个页面的所有元素,对页面的操作、对元素的操作以及和其他页面的交互,业务其实就是一个元素到另一个元素或者一个页面到另一个页面,这就和task层有点重复一般有一个就可以了。

element层:公共元素或者组件的维护,或者自定义组件封装

data层:数据存储

properties层:配置文件、全局变量

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

http://www.dtcms.com/a/435788.html

相关文章:

  • 企业网站空间多大建设数据库搜索网站
  • 网站建设基本流程心得用dede做的网站首页
  • 从ModelScope下载模型(平替huggingface 的最优选择)
  • 免费创建属于自己的网站平顶山网站开发
  • 学校网站首页制作公司网站快速备案
  • 汝阳县住房与城乡建设局建局网站房产最新消息今天新闻
  • 免费企业建站开源系统破解asp网站后台地址
  • I/O模型:用select实现多路复用I/O(linux下C语言版)
  • uni做网站首页网站宝的作用
  • MySQL连接时提示ERROR 2002 (HY000)解决方案
  • ORB_SLAM2原理及代码解析:InsertKeyFrame() 函数
  • 大文件去重 (上)
  • 自建企业网站教程有没有做网站的高手
  • 网上做家教的网站知名seo电话
  • 线程中信号量与条件变量详解
  • 做网站的收获wordpress怎样恢复数据库
  • 泉州专门做网站怎么确定网站关键词
  • 七台河北京网站建设电子商务具体是做什么的
  • 网站页面设计稿流量推广平台
  • 高效网站推广费用网站建设 营业执照 经营范围
  • 进程和线程间的通信方式有哪些?
  • 铁威马内置wordpress目录长春网络优化哪个公司在做
  • 哪个网站建设公司好济南网站建设公司熊掌号
  • 企业建站系统免费白云外贸型网站建设
  • 天津个人专业做网站wordpress分享有礼
  • 安新网站建设网站服务器到期为什么要网站备案
  • 哈希和加密
  • 济南seo网站排名优化工具公司简介宣传文案
  • 正规的网站优化推广公司广告牌模板图片
  • 那家公司做网站比较好微信公众号文章 转wordpress