推荐几个超实用的开源自动化测试框架

news2024/11/24 15:24:53

有什么好的开源自动化测试框架可以推荐?为了让大家看文章不蒙圈,文章我将围绕3个方面来阐述:

1、通用自动化测试框架介绍
2、Java语言下的自动化测试框架
3、Python语言下的自动化测试框架

随着计算机技术人员的大量增加,通过编写代码来进行测试成为一种更为高效的测试方式,由此而诞生了以计算机语言为基础的自动化测试方案,当然测试工程师需要具备代码能力。

今天我们就结合当前的主流编程语言,分别三种环境下各自的自动化测试框架。

一、通用自动化测试框架介绍

测试框架并不是一成不变的,事实上它就像搭积木一样,是由具有各种功能的工具组合而成,可以根据需求自由组合。下面介绍几个通用的基础工具:

1、Jenkins(可以支持java、python等大多数语言的项目)

简介:Jenkins是一个基于java语言开发的,可以取代繁杂的手动集成,用于监控持续重复工作的持续集成工具,简单说就是一个可以设置定时任务,自动执行并报告结果的工具。

优点:解放双手,极大地提高了效率,jenkins通常用来自动化执行各种任务,包括构建、测试和部署软件。

官方下载地址:https://www.jenkins.io/download/

配套视频:《6天UI自动化2021版》
https://www.bilibili.com/video/BV18Q4y1y7v3

2、Selenium(是一个模拟人对web端页面操作的测试工具库)

简介:Selenium通常需要搭配chromedriver一起使用,chromedriver是Chrome浏览器驱动,是selenium 模块用来模拟打开谷歌浏览器所必须的一个文件。

优点:解放双手,Selenium+chromedriver能够驱动浏览器模拟人的操作,如鼠标单击、键盘输入等,同时也可以实现目标内容的获取和自动下载等。

官方下载地址:https://www.selenium.dev/downloads/

配套视频:《8天web自动化入门教程》
https://www.bilibili.com/video/BV1eZ4y1s7BY

3、Appium(模拟人对移动端操作的测试工具库)


Appium 内部原理

简介:appium是一个合成词,分别由“application”的前三个字母和“Selenium”的后三个字母组成,它的作用与selenium 其实一样的。appium 类库封装了标准 Selenium 客户端类库。

优点:解放双手,可以实现多点触控手势和屏幕方向等操作。可以跨平台同时支持Android、iOS。支持多种语言,java、python、php、Ruby等等。

学习资料:http://appium.io/docs/cn/about-appium/intro/

下载地址:http://appium.io/

配套视频:

1)《0基础入门移动自动化Appium框架》  
https://www.bilibili.com/video/BV11p4y197HQ

2)《Appium进行IOS真机自动化测试》
https://www.bilibili.com/video/BV1tT4y137bD


二、Java语言下的自动化测试框架

1、Maven(Java项目构建和管理的工具)

简介:Maven一个最主要的功能在于可以方便的进行二进制库及依赖的管理

打个比方,有一个工人,去哪儿干活儿要随身携带所有的工具,说不定什么时候会用,后来,他有了一张神奇清单,上面写着他的工具名称,出去干活再也不用带沉甸甸的工具了,只要打开神奇清单,需要的工具自动就来了。
而maven对于程序员来说就是那张神奇清单,它会帮我们维护好编程所需的各种依赖。

优点:Maven 在美国是一个口语化的词语,代表专家、内行的意思,约等于北京话中的老炮儿。有老炮儿在手,干活儿不愁。

学习资料:https://www.runoob.com/maven/maven-tutorial.html

2、Testng(简化代码编写的一站式测试框架)

Testng简介:

测试方法是带有注解@Test的java方法

将测试信息添加到testng.xml文件或者build.xml

可以在suite/test/test method三个级别来执行测试方法

Testng优点:

简化代码编写,提高测试效率。

学习资料:测试框架TestNG使用介绍
https://www.sohu.com/a/288820372_216613

3、OkHttp

简介:OkHttp是一个当下比较流行的轻量级的网络请求框架,易用性,复用性都比较好。一般使用时,最好再对它进行再次封装,以符合具体场景的使用需求。

优点:拿来即用,不需关心底层实现,简单易上手。

学习资料:https://www.cnblogs.com/chenpi/p/5980177.html

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集成。

学习资料:https://www.w3cschool.cn/pytest/

视频学习:《6天UI自动化2021版》

https://www.bilibili.com/video/BV18Q4y1y7v3

2、Requests(用于发送HTTP请求的第三方库)

简介:Requests是用于发送HTTP请求的第三方库。我们实现请求的时候并不需要实现底层的细节,只需要引入一个Requests 就可以了。类似的工具有很多,比如urllib、httplib等。

优点:request使用简单、强大高效。

学习资料:https://www.kancloud.cn/king_om/py_1/2229543

视频资料:
1)《4天接口视频教程2021版》
https://www.bilibili.com/video/BV11g411V7Kf

2)《3天小程序项目2021版》
https://www.bilibili.com/video/BV12Q4y1C7Wf

3)《python实现头条项目接口自动化测试实战》
https://www.bilibili.com/video/BV1va4y1i76B

3、Allure(一款开源的,用来展示测试结果的工具)

简介:Pytest可以生成html格式的报告,但是Allure不仅可以与Pytest做集成生成美观易读的测试报告,同时可以集成到Jenkins,所以推荐使用。

优点:可以生成美观的报告,并集成到jenkins。

视频:《6天UI自动化2021版》 
https://www.bilibili.com/video/BV18Q4y1y7v3

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】可以根据自己的习惯和公司的语言环境来选择,具体可以参考下面这篇文章:

《Python 和Java 哪个更适合做自动化测试?185 赞同 · 32 评论回答》

https://www.zhihu.com/question/264353399/answer/2453360401

另外我也帮大家整理了接口自动化测试的视频学习资料,希望能够对你也有所帮助,加油》...

1)北京校区-《4天接口视频教程2021版》 
本视频b站链接:https://www.bilibili.com/video/BV11g411V7Kf/

2)北京校区-《2天带你掌握接口基础》 
本视频b站链接:https://www.bilibili.com/video/BV1i541147b8

3)北京校区-《接口测试入门篇》 
本视频b站链接:https://www.bilibili.com/video/BV1wA411t75F

4)北京校区- 《小白1小时入门Postman》 密码: 8uwt

本视频百度网盘链接:https://pan.baidu.com/s/1OrOhwVhwrC4FZBgjLS4w8A

5)北京校区- 《3天接口测试postman视频教程》 
本视频b站链接:https://www.bilibili.com/video/BV1h54y1L7kz

6)巩固视频-《Python实现接口自动化测试视频》 
本视频b站链接:https://www.bilibili.com/video/BV1uz411q7Pg

7)实战视频-《python实现头条项目接口自动化测试实战》
本视频b站链接:https://www.bilibili.com/video/BV1va4y1i76B

8)实战视频《Excel利用openpyxl库管理接口用例》 
本视频b站链接:https://www.bilibili.com/video/BV1864y1c7Mn

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

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

相关文章

什么是MyBatis?无论是基础教学还是技术精进,你都应该看这篇MyBatis

文章目录学习之前,跟你们说点事情,有助于你能快速看完文章一、先应用再学习,代码示例1. 第一个MyBatis程序2. MyBatis整合Spring3. SpringBoot整合MyBatis二、MyBatis整体流程,各组件的作用域和生命周期三、说说MyBatis-config.xm…

流域土壤保持及GIS实现

流域土壤保持及GIS实现 流域水土过程模拟与生态调控 01 土壤保持模拟 土壤侵蚀不仅会引起耕地生产力下降、河床抬升、泥沙淤积阻塞河道等生态环境问题,也会对人们正常的生产生活产生威胁。生态系统的土壤保持量(吨/公顷/年),是…

$3 : 水​​​​​项目实战 - 水果库存系统

javase知识点复习: final关键字:http://t.csdn.cn/bvFgu 接口的定义,特性,实现,继承:http://t.csdn.cn/tbXl3 异常:http://t.csdn.cn/VlS0Z DAO的概念和角色(设计理念)&a…

适配PyTorch FX,OneFlow让量化感知训练更简单

作者 | 刘耀辉审稿 | BBuf、许啸宇1背景近年来,量化感知训练是一个较为热点的问题,可以大大优化量化后训练造成精度损失的问题,使得训练过程更加高效。Torch.fx在这一问题上走在了前列,使用纯Python语言实现了对于Torch.nn.Module…

学习笔记:Java并发编程(补)CompletableFuture

学习视频:https://www.bilibili.com/video/BV1ar4y1x727 参考书籍:《实战 JAVA 高并发程序设计》 葛一鸣 著 系列目录 学习笔记:Java 并发编程①_基础知识入门学习笔记:Java 并发编程②_共享模型之管程学习笔记:Java 并…

win10开机黑屏只有鼠标怎么办?这里有4个妙招

真实案例:电脑开机黑屏,只出现鼠标箭头光标怎么办? “早上打开电脑,发现开不了机,屏幕上只有一个鼠标光标!百度搜索了很长时间,但所有的方法都没有奏效。求教各位大神,有什么好方法…

中电金信源启小程序开发平台 赋能金融+业务生态共享共建

导语:源启小程序开发平台立足于“为金融业定制”,从小程序全生命周期的角度出发,助力银行、互联网金融、保险、证券客户实现一站式小程序开发、发布、运营与营销。企业可以通过源启小程序开发平台,低成本高效率开发一款定制化小程…

The 19th Zhejiang Provincial Collegiate Programming Contest vp

和队友冲了这场,极限6题,重罚时铁首怎么说,前面的A题我贡献了太多的罚时,然后我的G题最短路调了一万年,因为太久没写了,甚至把队列打成了优先队列,没把head数组清空完全,都是我的锅呜…

搭载英伟达Jetson Orin的Allspark 2全新亮相,算力高达100TOPS!

Allspark 2 系列AI边缘计算机 Allspark 2经过设计优化的铝合金外壳,内置静音涡轮风扇,散热优秀。尺寸102.5X62.5X31mm,整机重量188g。 相比Allspark 1,2代整机轻了25克,更加轻薄。 在机身更加轻薄的情况下&#xff0c…

1497. 树的遍历

文章目录1.二叉树的遍历2.二叉树的构造3.例题3.1不使用BFS3.2使用BFS二叉树的构造:没有中序遍历则无法唯一构造1.二叉树的遍历 2.二叉树的构造 3.例题 一个二叉树,树中每个节点的权值互不相同。 现在给出它的后序遍历和中序遍历,请你输出它…

蓝桥杯训练day2

day21.二分(1)789. 数的范围(2)四平方和(1)哈希表做法(2)二分做法(3)1227. 分巧克力(4)113. 特殊排序(5)1460. 我在哪?2.双指针(1)1238. 日志统计(2)1240. 完全二叉树的权值(3&#…

koa-vue的分页实现

1.引言 最近确实体会到了前端找工作的难处,不过大家还是要稳住心态,毕竟有一些前端大神说的有道理,前端发展了近20年,诞生了很多leader级别的大神,这些大神可能都没有合适的坑位,我们新手入坑自然难一些&am…

HD-G2L-IOT V2.0核心板MPU压力测试

1. 测试对象HD-G2L-IOT基于HD-G2L-CORE V2.0工业级核心板设计,双路千兆网口、双路CAN-bus、2路RS-232、2路RS-485、DSI、LCD、4G/5G、WiFi、CSI摄像头接口等,接口丰富,适用于工业现场应用需求,亦方便用户评估核心板及CPU的性能。H…

PMP高分上岸人士的备考心得,分享考试中你还不知道的小秘密

上岸其实也不是什么特别难的事情,考试一共就180道选择题,题目只要答对60.57%就可以通过考试,高分通过没在怕的,加油备考呀朋友们! 这里也提一嘴,大家备考的时候比较顾虑的一个问题就是考试究竟要不要报班…

js循环判断的方法

js循环判断的方法if语句if else语句if else if else if......三元表达式switchswitch语句和if语句的区别for循环while循环do while循环for inforEachfor of性能问题if语句 条件满足就执行,不满足就不执行 if(条件){语句}if else语句 条件满足,执行语句…

认识3D旋转变换矩阵

前文输出了cesium的Rotation变量,一个矩阵;把这矩阵写下来看下; 0.99939 -0.034899 0 0 0.034899 0.99939 0 0 0 0 1 0 0 0 0 1 看一下3D数学的相关描述;…

周赛335(模拟、质因子分解、分组背包)

题解:0x3f https://leetcode.cn/problems/number-of-ways-to-earn-points/solution/fen-zu-bei-bao-pythonjavacgo-by-endlessc-ludl/ 文章目录周赛335[6307. 递枕头](https://leetcode.cn/problems/pass-the-pillow/)模拟[6308. 二叉树中的第 K 大层和](https://le…

扬帆优配|本周限售股解禁规模不足300亿元,这8家公司解禁压力大

本周限售股解禁规模环比大降至300亿元之下。 Wind数据显示,除掉新上市公司,本周A股商场共有36家公司限售股解禁,解禁数量27.69亿股,以最新收盘价核算(下同),解禁市值268.81亿元。 解禁市值超越…

【第二章 @RequestMapping注解(value,method,params属性),springMVC支持ant风格的路径,支持路径中的占位符】

第二章 RequestMapping注解(value,method,params属性),springMVC支持ant风格的路径,支持路径中的占位符 1. RequestMapping注解: (1) RequestMapping注解的作用就是将请…

数据结构与算法之桶排序

目录桶排序概念代码实现时间复杂度桶排序概念 桶排序 (Bucket sort)或所谓的箱排序,是一个排序算法,工作的原理是将数组分到有限数量的桶里。每个桶再个别排序(有可能再使用别的排序算法或是以递归方式继续使用桶排序…