自动化测试框架实战

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

一、什么是自动化测试框架

在了解什么是自动化测试框架之前,先了解一下什么叫框架?框架是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 从框架的定义可以了解,框架可以是被重用的基础平台;框架也可以是组织架构类的东西。其实后者更为贴切,因为框和架本来就是组织和归类所用的。所以自动化测试框架的定义为:由一个或多个自动化测试基础模块、自动化测试管理模块、自动化测试统计模块等组成的工具集合。也可以是一种思想和方法的集合。

框架分类:

  • 按框架的定义来分 自动化测试框架可以分为:基础功能测试框架、管理执行框架。
  • 按不同的测试类型来分 可以分为:功能自动化测试框架、性能自动化测试框架。
  • 按测试阶段来分 可以分为:单元自动化测试框架、接口自动化测试框架、系统自动化测试框架。
  • 按组成结构来分 可以分为:单一自动化测试框架、综合自动化测试框架。
  • 按部署方式来分 可以分为:单机自动化测试框架、分布式自动化测试框架。

二、自动化测试框架

1、模块化思想

就是将一个测试用例中的几个不同的测试点拆分并且将其单个点的测试步骤进行了封装,形成了一个模块。
例如:一个测试用例要对一个登录程序进行测试,其中包括:用户名输入、密码输入、以及确定登录;那么就可以将用户名输入、密码输入、确定登录、取消登录四个操作分别封装在四个不同的模块中。测试时,只需调用其模块即可。这样的话,当一个模块有变化,你只需单独维护那个模块即可,也可以根据模块的不同组合成不同的测试用例。

2、测试库思想

就是模块化思想的升华,其为应用程序的测试创造了库文件(可以是APIs、DLLs等),这些库文件为一系列函数的集合。其与模块化思想不同的是,其拓展了接口思想,即可以通过接口去传递参数,而不是一个封死的模块,可以说是一个多了一个“门”的交互型模块。
例如:还是以上那个测试用例,只是将用户名输入、密码输入、确定登录、取消登录封装成一个库,这个库含有一个函数Login,这个函数Login接收两个参数“用户名、密码”,对输入不同的用户名和密码可以进行不同的测试用例。

3、数据驱动思想

从数据文件读取输入数据,通过变量的参数化,将测试数据传入测试脚本,不同的数据文件对应不同的测试用例。
关键是其思想能够好的应用到你的框架中。就是变量不变,数据驱动结果,不同的数据导致了不同的结果的产生。而对于数据的导入,可以通过很多方式,例如:EXCLE表、XML(用在WEB中)、数据库(DB)、CSV文件、TXT等都可以。

4、关键字思想

关键字驱动或者一个关键字,对对象的抓取,其测试对象就是一种面向对象的思想,例如:QTP、RFT中,对象可以为一个数据封装为一个关键字(即可以将gui元素封装成了一个个关键字),这样可以对其关键对象进行各种操作了,不同的对象可以驱动不同的测试流向与结果。

关键字驱动测试是数据驱动测试的一种改进类型,它将测试逻辑按照关键字进行分解,形成数据文件,关键字对应封装的业务逻辑。 关键字主要包括:被操作对象(Item)、操作(Operation)和值(value),依据不同对象还有其它对应参数。关键字驱动的主要思想是:脚本与数据分离、界面元素名与测试内部对象名分离、测试描述与具体实现细节分离。可根据界面的变化更新对应的关键字对象,而不用重新录制脚本。

三、自动化框架设计原则

关键字驱动的自动化测试框架是对数据驱动的逻辑扩展,用关键字的形式将测试逻辑封装在数据文件中,测试工具只要能够解释这些关键字即可对其应用自动化,它的核心思想可以概括为三个分离。

  • 界面元素名与测试内部对象名的分离

在被测应用程序和录制生成的测试脚本之间增加一个抽象层,它可以将界面上的所有元素映射成相对应的一个逻辑对象,测试针对这些逻辑对象进行,界面元素的改变只会影响映射表,而不会影响测试。

  • 测试描述与具体实现细节的分离

测试描述只说明软件测试要做什么以及期待什么样的结果,而不管怎样执行测试或怎样证实结果。这样做是因为测试的实现细节通常与特定的平台以及特定的测试执行工具有着密切的联系。这种分离使得测试描述对于应用实现细节是不敏感的,而且有利于测试在工具和平台间的移植。

  • 脚本与数据的分离

最后,可以把测试执行过程中所需的测试数据从脚本中提取出来,在运行时测试脚本再从数据存放处读取预先定制好的数据,这样脚本和数据可以独立维护。

四、Robot Framework+Selenium2框架

Robot Framework 的架构是一个通用的验收测试和验收测试驱动开发的自动化测试框架(ATDD)。它具有易于使用的表格来组织测试过程和测试数据。

Selenium2 是用于测试 Web 应用程序用户界面 (UI) 的常用框架。它是一款用于运行端到端功能测试的工具。拥有简洁的API,WebDriver和WebElement对象,更好的抽象。且支持多中操作系统,多语言,多浏览器。

Robot Framework+Selenium2:基于Selenium2提供的测试库,通过Robot Framework以关键字编写、组织测试用例,执行并收集分析结果,形成一套web应用自动化测试的解决方案(即以关键字驱动的自动化测试框架)。

环境安装

  • python
  • wxpython
  • Robot Framework
  • RIDE
  • Selenium2Library

(为了python良好的兼容性、以及robot framework扩展库的更好支持,推荐使用ubuntu系统)

使用RIDE编写第一个测试用例

1、新建测试项目、测试套件,并引入所用到的库

2、查询提供的关键字及使用方法

3、根据库提供的关键字编写测试用例

4、测试结果查看

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1189623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2026南宁市英语雅思培训辅导机构推荐、2026权威出国雅思课程排行榜 - 苏木2025

基于南宁市青秀区、兴宁区、江南区、西乡塘区、良庆区、邕宁区、武鸣区及宾阳县、上林县、马山县、隆安县、横州市全域区县的雅思培训市场调研,结合上千名考生反馈、专业教研团队深度测评及实战提分数据,本文推出202…

35 岁程序员拒被裁!掌握这项技能,轻松实现职场逆袭

一、35 岁老周的逆袭:从 “被优化” 到 “被争抢” “35 岁生日刚过,我就收到了优化通知”—— 这是老周去年的遭遇。做了 12 年 Java 开发的他,每天重复着 CRUD 工作,薪资卡在 25K 多年没涨,最终成了部门 “优化名单…

Pytest自动化测试执行环境切换的两种解决方案

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 一、痛点分析在实际企业的项目中,自动化测试的代码往往需要在不同的环境中进行切换,比如多套测试环境、预上线环境、UAT环境、线上环境等…

主组与附加组

主包主包,为什么我改不了test4的组啊?root@btc-VMware20-1:/nihao/zaijian# id test4 uid=1001(test4) gid=1002(hahaha) 组=1002(hahaha),1003(hello) root@btc-VMware20-1:/nihao/zaijian# gpasswd -d test4 hahah…

阿里出品2026版Java架构师面试指南,涵盖Java所有核心技能

最近很多粉丝朋友私信我说:熬过了去年的寒冬却没熬过现在的内卷;打开Boss直拒一排已读不回,回的基本都是外包,薪资还给的不高,对技术水平要求也远超从前;感觉Java一个初中级岗位有上千人同时竞争&#xff0…

FBM237-P0917QZ输出模块

FBM237-P0917QZ 输出模块特点概览:高性能输出:支持多路数字/模拟信号输出,响应速度快,控制精确。模块化设计:便于扩展和替换,灵活适应不同控制系统需求。多接口兼容:可与各种控制器、PLC或DCS系…

2026 垂直生命线系统防护厂家权威推荐榜单:水平生命线系统/垂直生命线系统/水平生命线系统装置/垂直生命线系统装置源头厂家精选。

高空作业安全是工业生产中不可忽视的核心环节。据统计,我国每年因高空坠落导致的事故超过3000起,其中约65%的事故与防护设备缺失或质量不达标直接相关。在建筑、电力、船舶、石油等高危行业中,如何选择可靠的生命线…

2026年Java岗最全面试攻略,面试必刷,跳槽大厂神器

现在 Java 面试可以说是老生常谈的一个问题了,确实也是这么回事。面试题、面试宝典、面试手册......各种 Java 面试题一搜一大把,根本看不完,也看不过来, 而且每份面试资料也都觉得 Nice,然后就开启了收藏之路。Java 开…

FBM242-P0916JY外置开关模块

FBM242-P0916JY 外置开关模块特点概览:模块化设计:标准化接口,便于安装、扩展和替换。多通道输入:支持多路开关信号输入,实现灵活控制。工业级可靠性:耐高温、防尘、防振动,适应连续运行的工业环…

深入解析:【MySQL】视图

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2026南宁市英语雅思培训辅导机构推荐;2026权威出国雅思课程排行榜 - 苏木2025

基于2024-2025雅思官方发布的中国大陆地区考生成绩大数据报告,南宁市雅思考生整体均分为5.8分,其中写作、口语单科平均分分别低至5.6分、5.5分,显著低于全球均值。无论是兴宁区、江南区、青秀区、西乡塘区、邕宁区、…

2026南宁市英语雅思培训辅导机构推荐2026权威出国雅思课程排行榜 - 苏木2025

雅思考试作为出国深造、职场晋升的核心语言凭证,近年来在南宁市兴宁区、江南区、青秀区、西乡塘区、邕宁区、良庆区、武鸣区及横州市、宾阳县、上林县、马山县、隆安县等全域区县的报考热度持续攀升。但多数考生在备考…

2026Java面试常见知识点总结!

我决定以面试的角度,深度聊聊一些面试中经常会被问及的知识点;希望能够帮助你们系统的梳理Java程序员面试中必须要掌握的知识技能。为啥要深度聊聊?就是想让你们把重心都放到技术的深度上来。因为当下面试,面试官更在意的是你对某…

192S06M0132B控制系统模块

192S06M0132B 控制系统模块特点核心控制单元:承担数据处理与指令执行,保证系统高效响应。高可靠性设计:工业级元件,耐高温、防尘、防振动,适合连续运行。灵活扩展:支持与其他模块无缝组合,便于系…

2026年评价高的反渗透超纯水设备,电子行业超纯水设备,超纯水设备厂家采购决策指南 - 品牌鉴赏师

引言在 2026 年,随着电子、半导体等行业的飞速发展,对超纯水设备的需求日益增长,其质量和性能直接影响到产品的品质和生产效率。为了帮助电子行业、半导体行业等用户在采购超纯水设备时做出更科学、合理的决策,我们…

专业气体分析仪采购指南:七大技术类别厂家推荐与对比 - 品牌推荐大师

当前,气体分析仪市场正经历着一场由严格法规、技术进步与产业升级共同驱动的深刻变革。行业已从单一的安全预警,演进为支撑智能制造、超低排放和高端工艺控制的精密感知核心。理解这一市场的最新动态与技术脉络,是做…

VME-HDD-4G单插槽软盘/硬盘模块

VME-HDD-4G 单插槽软盘/硬盘模块特点概览:单插槽设计:紧凑结构,便于安装在标准 VME 机箱中。高容量存储:4GB 存储空间,满足工业数据存储和日志记录需求。兼容软硬盘:可支持传统软盘格式及硬盘存储&#xff…

2026年1月广东定制密封圈 /车削密封件 /超高压密封/ 聚氨酯密封 /非标密封厂家企业哪家好 - 2026年企业推荐榜

一、核心结论 1.1 核心评估框架 本次评估基于四大核心维度构建闭环体系,精准筛选行业头部企业:一是技术研发能力(核心材料配方、专利储备、智能技术应用);二是定制化响应效率(打样周期、批量交付时效、柔性生产能…

【大数据毕设全套源码+文档】基于Python的王者荣耀战队的数据分析系统的设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026四川口碑实木楼梯品牌深度选型指南 - 2026年企业推荐榜

转载自:https://www.pp10top.com/rankinglis/283843.html 文章摘要 本文基于2026年四川地区实木楼梯市场趋势,提供一份专业选型指南,深度剖析多家服务商,重点推荐四川卡芃特楼梯有限公司。内容涵盖行业全景、服务商…