当前位置:网站首页>有什么好的开源自动化测试框架可以推荐?
有什么好的开源自动化测试框架可以推荐?
2022-08-09 16:36:00 【代码小怡】
2022年后,有什么好的开源自动化测试框架可以推荐?为了让大家看文章不蒙圈,文章我将围绕3个方面来阐述:
1、通用自动化测试框架介绍
2、Java语言下的自动化测试框架
3、Python语言下的自动化测试框架
随着计算机技术人员的大量增加,通过编写代码来进行测试成为一种更为高效的测试方式,由此而诞生了以计算机语言为基础的自动化测试方案,当然测试工程师需要具备代码能力。
今天我们就结合当前的主流编程语言,分别三种环境下各自的自动化测试框架。
一、通用自动化测试框架介绍
测试框架并不是一成不变的,事实上它就像搭积木一样,是由具有各种功能的工具组合而成,可以根据需求自由组合。下面介绍几个通用的基础工具:
1、Jenkins(可以支持java、python等大多数语言的项目)
简介:Jenkins是一个基于java语言开发的,可以取代繁杂的手动集成,用于监控持续重复工作的持续集成工具,简单说就是一个可以设置定时任务,自动执行并报告结果的工具。
优点:解放双手,极大地提高了效率,jenkins通常用来自动化执行各种任务,包括构建、测试和部署软件。
官方下载地址:Jenkins download and deployment
2、Selenium(是一个模拟人对web端页面操作的测试工具库)
简介:Selenium通常需要搭配chromedriver一起使用,chromedriver是Chrome浏览器驱动,是selenium 模块用来模拟打开谷歌浏览器所必须的一个文件。
优点:解放双手,Selenium+chromedriver能够驱动浏览器模拟人的操作,如鼠标单击、键盘输入等,同时也可以实现目标内容的获取和自动下载等。
官方下载地址:Downloads | Selenium
3、Appium(模拟人对移动端操作的测试工具库)
简介:appium是一个合成词,分别由“application”的前三个字母和“Selenium”的后三个字母组成,它的作用与selenium 其实一样的。appium 类库封装了标准 Selenium 客户端类库。
优点:解放双手,可以实现多点触控手势和屏幕方向等操作。可以跨平台同时支持Android、iOS。支持多种语言,java、python、php、Ruby等等。
下载地址:Appium: Mobile App Automation Made Awesome.
二、Java语言下的自动化测试框架
1、Maven(Java项目构建和管理的工具)
简介:Maven一个最主要的功能在于可以方便的进行二进制库及依赖的管理
打个比方,有一个工人,去哪儿干活儿要随身携带所有的工具,说不定什么时候会用,后来,他有了一张神奇清单,上面写着他的工具名称,出去干活再也不用带沉甸甸的工具了,只要打开神奇清单,需要的工具自动就来了。
而maven对于程序员来说就是那张神奇清单,它会帮我们维护好编程所需的各种依赖。
优点:Maven 在美国是一个口语化的词语,代表专家、内行的意思,约等于北京话中的老炮儿。有老炮儿在手,干活儿不愁。
2、Testng(简化代码编写的一站式测试框架)
Testng简介:
测试方法是带有注解@Test的java方法
将测试信息添加到testng.xml文件或者build.xml
可以在suite/test/test method三个级别来执行测试方法
Testng优点:
简化代码编写,提高测试效率。
3、OkHttp
简介:OkHttp是一个当下比较流行的轻量级的网络请求框架,易用性,复用性都比较好。一般使用时,最好再对它进行再次封装,以符合具体场景的使用需求。
优点:拿来即用,不需关心底层实现,简单易上手。
4、最后根据实际场景,组合所需的各个工具,得到自动化测试框架
java自动化接口测试:jenkins+maven+testng+okhttp
java自动化web测试:jenkins+maven+testng+selinum
java自动化app测试:jenkins+maven+testng+appium
三、Python语言环境下的工具
1、Pytest(非常成熟的全功能的python测试框架)
简介:类似的测试框架工具还有Python原生的unittest,但Pytest完全兼容Unitest,并且含有非常丰富的插件,能够支持简单的单元测试和复杂的功能测试和接口自动化测试。
优点:插件丰富,可以很好地和jenkins集成。
2、Requests(用于发送HTTP请求的第三方库)
简介:Requests是用于发送HTTP请求的第三方库。我们实现请求的时候并不需要实现底层的细节,只需要引入一个Requests 就可以了。类似的工具有很多,比如urllib、httplib等。
优点:requests使用简单、强大高效。
3、Allure(一款开源的,用来展示测试结果的工具)
简介:Pytest可以生成html格式的报告,但是Allure不仅可以与Pytest做集成生成美观易读的测试报告,同时可以集成到Jenkins,所以推荐使用。
优点:可以生成美观的报告,并集成到jenkins。
4、Pytest、Requests、Allure、Jenkins等工具的关系如下图
结合通用的工具,不同的自动化测试场景下对应的自动化测试框架如下:
Python自动化接口测试:jenkins+pytest+requests+allure
Python自动化Web测试:jenkins+pytest+selinum+allure
Python自动化App测试:jenkins+pytest+appium+allure
四、自动化测试框架学习总结
自动化测试是测试工程师从初级到中高级的分界线,也是入职大厂的必备技能。
上文介绍了多个自动化测试框架,如果是初学者,你可能会头大:这么框架我一下子学不会啊
别慌,其实目前业内主要使用的接口自动化测试,Web及App自动化测试是作为辅助,所以你先花精力掌握接口自动化测试框架就可以了。
至于接口自动化测试框架 选择Java的【Jenkins+Maven+Testng+Okhttp】还是Python的【Jenkins+Pytest+Requests+Allure】可以根据自己的习惯和公司的语言环境来选择
最后感谢每一个认真阅读我文章的人,下面这个网盘链接也是我费了几天时间整理的非常全面的,希望也能帮助到有需要的你!

这些资料,对于想转行做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。希望对大家有所帮助……
如果你不想一个人野蛮生长,找不到系统的资料,问题得不到帮助,坚持几天便放弃的感受的话,可以点击下方小卡片加入我们群,大家可以一起讨论交流,里面会有各种软件测试资料和技术交流。
敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。
自学推荐B站视频:
零基础转行软件测试:38天自学完软件测试,拿到了字节的测试岗offer,堪称B站最好的视频!
自动化测试进阶:已上岸华为,涨薪20K,2022最适合自学的python自动化测试教程,自己花16800买的,无偿分享

边栏推荐
- B44 - Based on stm32 bluetooth intelligent voice recognition classification broadcast trash
- 重谈联想5G编码投票事件
- Substrate 源码更新导读八月第1周: 新版事务化存储层启用默认模式, Polkadot v0.9.27发布
- The article details of the qiucode.cn website realize the code block can be copied by clicking the button
- 【.NET6+Modbus】Modbus TCP协议解析、仿真环境以及基于.NET实现基础通信
- 【教程3】疯壳·ARM功能手机-整板资源介绍
- WeChat developer tools error, prompt did not find the entrance to the app. The json file
- MASA Stack 第三期社区例会
- mysql generates random name, mobile number, date
- What you should know about futures account opening
猜你喜欢

开篇-开启全新的.NET现代应用开发体验

冷冻电镜聚类中心(2D Class)粒子图像的解析

WinForm(三)揭开可视化控件的面纱

2.1, pay attention to the network based on parallel context scenario text image super-resolution

How to choose a good SaaS knowledge base tool?

对象模型-虚指针虚表

【时序数据库InfluxDB】Windows环境下配置InfluxDB+数据可视化,以及使用 C#进行简单操作的代码实例...

测试/开发程序员喜欢跳槽?跳了就能涨工资吗?

AlphaControls 控件 TsPanel TsGroupBox 块与组的结合

What is control board custom development?
随机推荐
郭炜(郭大侠):九个关于开源的 Yes or No
B46 - STM32太阳能充电智能心率监测骑行仪
期货开户流程和手续费如何调整
SimpleDateFormat线程安全问题和解决方案
【燃】是时候展现真正的实力了!一文看懂2022华为开发者大赛技术亮点
uniapp电影购票选座系统源码
@AllArgsConstructor and @NoArgsConstructor
字节也开始缩招了...
Apache Doris Community PMC Yang Zhengguo: How do open source projects strike a balance between their own and the community's needs?
A49 - ESP8266建立AP传输XPT2046AD数据WIFI模块
云服务的分类和应用
crm系统哪家好?好用的crm管理系统推荐
B44 - Based on stm32 bluetooth intelligent voice recognition classification broadcast trash
GoFrame缓冲输出到客户端Flush()
太细了!阿里大佬耗时39天整理出一份Redis进阶笔记,满满的干货
怎样选择一个好的SaaS知识库工具?
融云 x N 世界:构建无限用户实时交互的「元宇宙会场」
【解决】虚拟机VMware通过局域网连接机器人no route to host
WinForm(四)一种实现登录的方式
A42 - 基于51单片机的洗衣机设计