分享几个自动化测试的练手项目

news2024/10/5 19:10:45

学习自动化测试最难的是没有合适的项目练习。 测试本身既要讲究科学,又有艺术成分,单单学几个 api 的调用很难应付工作中具体的问题。

你得知道什么场景下需要添加显性等待,什么时候元素定位需要写得更加优雅,为什么需要断言这个元素,而不是另一个。你得有合适的页面控件才能练习某种操作。

现在网上关于练习自动化的文章有很多,但是可以供学习使用的练习项目却非常稀缺。有的项目操作比较简单,无法达到练习各种操作的效果。有的项目非常复杂,光熟悉业务就要半个月。

可以说,一个好的练习项目对掌握好自动化测试至关重要。练习项目的业务不应该太复杂,否则我们需要花很多时间理清业务关系。 也不能太简单,否则我们无法练习到有用的技能。 项目应该尽可能涵盖较多的知识点,让我们在学习过程中反复练习不太熟练的技能, 而且它最好有通用的管理权限,方便我们自己选择角色等等要求。

我推荐几个还算不错的在线练习项目,如果你苦于没有项目练习,可以去看看。

第一个项目叫 JpetStore, 网址是: petstore.octoperf.com/actions/Cat…

这是一个电商项目,你可以在网站上购买各种宠物。 常见的电商网站操作在这个项目中都可以找到,比如注册,登录,查找商品,选择商品,添加购物车,下单,查看定位,确认收货地址等等。

网站需要的个人信息并不需要真实的,付款也不需要真的付钱,并不需要担心个人信息泄漏等问题。而且这个项目由大名鼎鼎的 mybatis 提供,使用 spring 框架搭建, 很多Java 开源项目都用它来举例子。

业务简单,流程清晰,操作类型丰富,几乎是完美的练习平台,非常适合练习 web 自动化测试。

第二个项目叫 letcode, 项目地址是 letcode.in/test

这是一个网页 ui 元素展示网站,列举了几乎所有流行的网页控件,如果你正在学 selenium 这样的框架,那可以赶紧用这个项目练习一下 selenium 的操作方法。比如点击、拖动、切换等常见的页面元素,在这个网站上都有现成的控件可以操作。你只需要进入首页,然后点击合适的控件,就可以进入这个控件的专题界面。

第三个项目叫 booker, 项目地址是 automationintesting.online/#/

它是一个在线预定房间的项目,有点类似携程、艺龙这样的网站。你可以在网站上通过滑动选择房间,然后输入自己的信息完成房间预定。这个网站使用 RESTful 风格的接口,你可以分析后端接口和前端的交互,对输入信息的合法性进行校验, 适合练习前后端交互和联调。

可能很多人会说:为什么不直接用真实项目,而要用这些在线的练习项目。 首先,我还是建议能用真实项目就直接用真实项目,如果没有再考虑练习项目。 你也可以在学习还不是特别熟练的时候先用练习项目上手, 熟练后再通过真实项目实战。

练习项目还有一些额外的好处:

没有对自动化测试工具做拦截和屏蔽,你可以直接上手 selenium 这样的工具,如果在真实项目中,很有可能被检测到,禁止通过 selenium 访问
对个人信息保护更直接。练习项目通过你可以随意构造自己的身份信息,不用担心自己的信息泄漏。
用户交互往往更简单直接。
质量一般没有正式项目那么高,你更容易找到 bug, 有点成就感。
当然它也有明显的不足:

设计会比较丑,可能会影响你的心情
不支持大规模的并发操作,不然会崩
业务逻辑比较简单,很难模拟真实的业务复杂度。
总的来说,在没有正式的项目经验前,找到一个合适的练手项目,把自己的专业知识转变成可以应用的技能,还是非常好的。希望对正在学习的同学有帮助,如果你也有很好的练习项目,欢迎和我一起分享。

如果你还有许多困惑,那么我整理的视频资源和文档会是你的良师益友,或许可以给你带来一些实际性的帮助与突破【保证100%免费】

 

 

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

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

相关文章

CANoe使用记录(四):CANoe Graphics图形窗口

目录 1、概述 2、Graphics图形窗口 2.1、打开测量窗口(回放Log) 2.2、输出Log 2.3、添加解析DBC文件 2.4、窗口排列 2.5、添加Graphics窗口 2.6、 信号栏选择 2.7、添加信号 2.8、波形样式 2.9、单Y轴测量尺 2.10、多Y轴测量尺 2.11、数据隐…

10行Python代码,助你整理杂乱无章的文件

朋友们好,今天是周五,又到了快放假的时间,激不激动?高不高兴?但是我还是要继续分享 Python 小工具给大家,嘻嘻~~ 今天的小程序,可以一键完成文件整理,一起来看看吧! 按…

API 接口主流协议有哪些? 如何创建不同协议?

API 接口协议繁多,不同的协议有着不同的使用场景。70% 互联网应用开发者日常仅会接触到最通用的 HTTP 协议,相信大家希望了解更多其他协议的信息。我们今天会给大家介绍各种 API 接口主流协议和他们之间的关系。 1、API 接口主流协议有哪些? 接口协议分…

java环境安装 以jdk1.8 tomcat8为例

1、选择相应版本下载 官网地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 2、下载后一直点击下一步就好了ps:路径不喜欢安装在C盘的可以选择其他盘符,但是一定要自己找的到安装路径。 3、选择路径安装jdk1.8 4、…

Java基础(十六):String的常用API

Java基础系列文章 Java基础(一):语言概述 Java基础(二):原码、反码、补码及进制之间的运算 Java基础(三):数据类型与进制 Java基础(四):逻辑运算符和位运算符 Java基础(五):流程控制语句 Java基础(六)&#xff1…

Serilog介绍

SerilogSerilogSerilog是.net 下的新兴的日志框架,本文这里简单的介绍一下它的用法。 首先安装Nuget包: Install-Package SerilogInstall-Package Serilog.Sinks.Console 其中包Serilog是Log核心库,Serilog.Sinks.Console是Log的控制台输出…

云安全问题及其解决方案

随着云计算技术的快速发展,云计算已经成为了企业和个人的首选。云计算在提高了企业的效率和降低了成本的同时,也带来了一系列的安全问题。本篇博客将深入讨论云安全问题,并提出相应的解决方案,以帮助企业和个人更好地保护自己的云…

【C++学习笔记】对象的特性

深拷贝与浅拷贝 浅拷贝:简单的赋值拷贝操作 深拷贝:在堆区重新申请空间,进行拷贝 利用编译器提供的拷贝构造函数,会做浅拷贝操作;会导致堆区的内存重复释放 ![[Pasted image 20221216213144.png]] 解决方法&#xff…

Qt/QML编程学习之心得:跨平台(一)

Qt作为Cross-platform的一种开发语言,在GUI界面设计上俘获了大批开发者。 Qt很年轻但是也不年轻,看下它创作公司的历史就知道了: › 1994: Troll Tech. First public release in 1995 › 2008: Nokia acquires Troll Tech › 2012: Digia buys Qt from Nokia › 01.05.2016:…

有反爬机制就爬不了吗?那是你还不知道反反爬,道高一尺魔高一丈啊

文章目录 一、从用户请求的Headers反爬虫二、基于用户行为反爬虫(1)方法1(2)方法2 三、动态页面的反爬虫四.总结 不知道你们在用爬虫爬数据的时候是否有发现,越来越多的网站都有自己的反爬机制,抓取数据已经…

Cloud Storage .NET Crack

Cloud Storage .NET Crack 现在包括对Microsoft SharePoint Online的支持。 用于与流行的云存储库集成的存储组件。 云存储使您可以轻松地从任何受支持的平台或开发技术集成基于云的文件存储。这些易于使用的组件可用于与流行的云存储提供商集成,如Amazon S3、Googl…

ESP32使用ESP-NOW协议实现一对多通信和MAC地址存储

目录 介绍ESP-NOW 协议概述在 ESP32 上配置 ESP-NOW使用 ESP-NOW 进行一对多通信在 ESP32 上存储发件人的 MAC 地址代码结论 介绍 ESP32 是一款功能强大的 Wi-Fi 和蓝牙双模模块,可用于使用 ESP-NOW 协议实现低功耗、高效率的一对多通信。本文将介绍如何使用ESP-NO…

【数据分析实战】基于python对酒店预订需求进行分析

文章目录 📚引言📖数据加载以及基本观察📑缺失值观察及处理🔖缺失值观察以及可视化🔖缺失值处理 📖用户数据探索📑什么时间预定酒店将会更经济实惠?📑哪个月份的酒店预订…

centos8 mysql 主从复制

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 Linux centos8

机器学习入门实例-MNIST手写数据集-多分分类错误分析多标签分类多输出分类

多分类 随机梯度下降、随机森林和朴素贝叶斯都可以处理多分类问题,而logistic回归、支持向量机是严格的二分类分类器,但是可以用一些方法将多个二分类分类器组合在一起完成多分类任务。 1. OvR(one-versus-the-rest、one-versus-all&#x…

webp格式怎么转换成jpg,3种常用工具方法

在日常办公中,我们经常需要在网上找到一些图片进行编辑。但有时候我们会遇到Webp格式的图片,而有些软件无法直接编辑它们。Webp是一种由谷歌开发的图像文件格式,它提供了有损压缩和无损压缩(可逆压缩)的功能,近年来,它…

Kafka基础篇学习笔记整理

Kafka基础篇学习笔记整理 生产者数据发送流程批量与定时发送缓冲区大小send发送消息消息可靠性发布确认机制重试机制 消息顺序性问题如何避免重试导致消息顺序错乱自定义拦截器自定义序列化器自定义分区器幂等与事务kafka实现幂等kafka实现事务事务的隔离级别使用演示 消费者重…

【状态估计】用于描述符 LTI 和 LPV 系统的分析、状态估计和故障检测的算法(Matlab代码实现)

💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 …

免费文案生成器-免费文案改写神器

推荐一款高效免费自动写作软件,让你的写作效率飞升! 写作,对于众多的从业者或学生来说都是必不可少的工作内容。然而,许多人在写作时遇到了各种各样的困难,例如缺乏灵感、引用不足、缺乏逻辑性等等。为了解决这些问题…

Linux DHCP服务

DHCP 作用 DHCP动态主机配置协议作为服务端负责集中给客户端分配各种网络地址参数(主要包括IP地址、子网掩码、广播地址、默认网关地址、DNS服务器地址) 传输协议端口 服务端 UDP 67端口 客户端 UDP 68端口 工作原理 1) 客户端广播发送DISCOVER报文寻找服务端 2) 服务端广播发…